2011-11-27 3 views
17

연결이 끊어진 클라이언트의 socket.id을 가져올 수 있습니까? 소켓 : 다음 코드는 socket.id소켓 연결 해제 클라이언트의 socket.id?

Node.js를 코드

io.sockets.on('connection', function() { 
    socket.on('disconnect', function(socket) { 
     console.log(socket.id); 
    }); 
}); 

답변

35

두 번째 인자는 하나 개의 인수를 취할 예정대로 io.sockets.on 걸리는 콜백 함수 나에게 undefined을 제공합니다. 너의 것이 아니기 때문에 두번째 줄의 소켓 socket.on은 정의되지 않았다.

그리고 socket.on의 콜백에는 인수가 제공되지 않으므로 해당 함수의 socket도 정의되지 않습니다.

첫 번째로 두 번째 함수 선언에서 소켓 매개 변수를 이동하는 경우 코드는 작동합니다 :

io.sockets.on('connection', function (socket) { 
    socket.on('disconnect', function() { 
     console.log(socket.id); 
    }); 
}); 
관련 문제