0
사용자 n가 서버 n socket.io에 연결할 때 사용자 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 주소를보고있는 것은 아마도 localhost를위한 IPv6 양식 일 것입니다. localhost가 아닌 외부 IP에서 연결을 시도하십시오. – jfriend00
@McMatt - IPv6 주소 형식을 통한 IPv4에 대한 정보는 다음과 같습니다. [하이브리드 IP 표기법은 언제 있습니까 :: ffff : 192.168.1.4가 적절한가요?] (http://stackoverflow.com/questions/5861107/when-is-the -hybrid-ip-notation-ffff192-168-1-4- 해당). – jfriend00