0
我想知道如何在用戶連接到服務器時獲取IP地址。我已經使用這個代碼應該記錄連接地址和端口這樣的嘗試:在socket.io中獲取連接的IP地址1.4.5
var io = require('socket.io')(serv, {});
io.sockets.on('connection', function(socket) {
var address = socket.handshake.address;
console.log('New connection from ' + address.address + ':' + address.port);
socket.on('request', function(data) {
console.log('Request Sent')
length = data.length
if (data.request == 'sessionID') {
socket.emit('sendSessionID', {
id: generateSessionID(length)
});
console.log('Sent session ID')
}
if (data.request == 'players') {
}
});
});
那麼我該如何獲得端口?也打印出的地址爲:: ffff:然後ip或有時它只是打印出來:: 1我不知道發生了什麼 – McMatt
@McMatt - 我不知道你會在socket.io中找到端口。顯然,無論您的服務器在監聽哪個端口。您所看到的IP地址可能是本地主機的IPv6表單。嘗試從外部IP連接時,而不是本地主機。 – jfriend00
@McMatt - 下面是關於IPv4到IPv6地址格式的一些信息:[什麼時候混合IP表示法:ffff:192.168.1.4合適?](http://stackoverflow.com/questions/5861107/when-is-the -hybrid-IP-符號 - ffff192-168-1-4相適應)。 – jfriend00