2016-07-16 7 views
0

こんにちは私はsocket.ioバージョン1.3.7でクライアントのIPアドレスを取得する前に、その作業を完璧にするのに問題がありますが、これはsocket.ioバージョン1.3.7そうでは動作しないその更新後のIPアドレスにsocket.ioでクライアントのIPアドレスを取得する方法

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

を送信するために、クライアント側からサーバ側

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

var address = sock.handshake.address; 

このための私のコードで更新

前に使用しますpリース私はこの問題を助け、1.3.7バージョンの完璧なコードを提案します

+0

'sock.handshake.address 'はクライアントのIPアドレスでなければなりません。それはsocket.io 1.4.5で私のために働く。システム構成に応じて、IPv6形式で表示されることがあります。 – jfriend00

+0

idソケットの新しいバージョンのクライアント側の接続に変更があります。クライアント側のソケット接続用ソケットは完璧かどうかは分かりませんので、私はまだIPアドレスを取得できません。 –

+0

サーバからさまざまなIPアドレスを取得する方法は次のとおりです。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

答えて

1

私はソケットにはあまりありませんが、これはあなたを助けるでしょう。あなたはaddress.addressとポート1.0 サーバー側版address.port

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

そしてSocket.io用のために使用する必要が

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

ありがとうございました。サーバー側のソリューションを検索するには時間がかかりすぎました – user1274820

関連する問題