2016-07-16 7 views
0

Hallo ich habe Problem mit Client-IP-Adresse in socket.io Version 1.3.7 vor dem Update seine Arbeit perfekt, aber nach dem Update bekomme ich jedes Mal undefined das ist mein Code, der i ist verwenden, bevor Updatewie Client-IP-Adresse in socket.io

dies für Server-Seite ist mein Code

sockets.on('connection',function(sock){ 

var address = sock.handshake.address; 

dieses von Client-Seite IP-Adresse

var remote = 'http://my_ip_address:9008/'; 
    socket = io.connect(!!local ? local : remote); 
    socket.on("connect", function() { 
    console.log("connected"); 
      getData(); 
    }); 

nach dem Update arbeitet 1.3.7 in Socket.io Version seines nicht zu senden, so p Lease mir helfen mit diesem Problem und suggeriere perfekten Code für Version 1.3.7

+0

'sock.handshake.address 'sollte die IP-Adresse des Clients sein. Es funktioniert für mich in socket.io 1.4.5. Abhängig von Ihrer Systemkonfiguration kann es in einem IPv6-Format angezeigt werden. – jfriend00

+0

id da irgendeine Änderung für die Verbindung in der Client-Seite für eine neue Version von socket.io, mein Code für Client-Seite Verbindungssockel ist perfekt oder nicht, wenn Sie irgendeine Ahnung haben, also bitte sagen Sie mir immer noch kann ich IP-Adresse –

+0

Vom Server , hier erfahren Sie, wie Sie verschiedene IP-Adressen abrufen können: http://stackoverflow.com/questions/38423930/how-to-retrieve-client-and-server-ip-address-and-port-number-in-node-js/ 38426473? Noredirect = 1 # comment64286103_38426473 – jfriend00

Antwort

1

Ich bin nicht viel in Sockets, aber ich denke, das wird Ihnen helfen.

Sie benötigen address.address und für Port verwenden address.port

sockets.on('connection',function(sock){ 
var address = sock.handshake.address; 
     console.log('New connection from ' + address.address + ':' + address.port); 
}); 

Und für Socket.io ver 1.0 Server-Seite:

sockets.on('connection',function(sock){ 
    var clientIpAddress = sock.request.headers['x-forwarded-for'] || sock.request.connection.remoteAddress; 
    console.log(' new request from : '+clientIpAddress); 
}); 
+0

Vielen Dank - zu viel Zeit mit der Suche nach der serverseitigen Lösung verbracht – user1274820