0
在我的節點應用程序中,我需要獲取使用socket.io.的用戶的IP地址,我嘗試了下面的代碼,但直到我得到127.0.0.1.How我可以得到我的IP地址。如何使用socket.io獲取用戶的IP地址?
1.
var io = require("socket.io").listen(server);
io.sockets.on("connection", function (socket) {
var address = socket.handshake.address;
console.log("New connection from " + address.address + ":" + address.port);
}
2.
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
var endpoint = socket.manager.handshaken[socket.id].address;
console.log('Client connected from: ' + endpoint.address + ":" + endpoint.port);
});
3.
var socket = io.listen(server);
socket.on('connection', function(client){
var ip_address = client.connection.remoteAddress;
});
我敢肯定,如果你在本地運行節點你的ip _is_ 127.0.0.1。任何其他IP很可能不相關。 – 2013-04-24 07:19:29
是的,我的應用程序在本地運行本地主機:4000 .. – sachin 2013-04-24 07:27:26
那麼你得到正確的IP。如果你把應用程序放在外部服務器上,你會得到你的isp提供的任何ip(如果你是谷歌「ip」,你會看到這個ip)。如果你把它放在同一網絡上的另一臺機器上,你會在內部網絡中獲得你的機器IP地址。 – 2013-04-24 07:32:34