2013-04-09 3 views
0

해결 방법을 찾을 수없는 작지만 성가신 문제가 있습니다. 서버 측에 연결 해제 이벤트 node.js에서 Socket.io 소켓 속성을 찾을 수 없습니다.

나는이 있습니다

... 
socket.on('join', function (name) 
{ 
    console.log("Joining: "+name); 
    socket.userName = sanitize(name); 
} 
socket.on('msg', function(m) 
{ 
    console.log(socket.userName+" says: "+m);//This works 
}); 

socket.on('disconnect', function(socket) 
{ 
    console.log(socket.userName+" has disconnected");//This does not work 
}); 
... 

문제가 socket.userName내가 사용자 이름 속성에 대한 undefined을 얻을 socket.on('disconnect',...

에 대한을 exept 내 모든 .on 방법에서 사용할 수 있다는 것입니다.


이 작업을 수행 할 수 없습니까? 이것이 최고의 pratcie 아니라면, 내게 알려주십시오. 나는 node.js를 처음 보았습니다

+0

오류를 지금 발견했습니다. 어떻게 보지 못했습니까? 나는 소켓 변수를 입력 변수로 가지고 있는데, 이것은 내가 접근하고자하는 소켓과 같은 것이 아니다 ... – Automatico

답변

1

disconnect 이벤트가 인수로 전달되지 않았다고 생각합니다. 따라서 socket 변수를 효과적으로 포착 할 수 있습니다. 해당 처리기에 대한 빈 인수 목록을 사용하십시오.

socket.on('disconnect', function() 
{ 
    console.log(socket.userName+" has disconnected"); 
}); 
+0

그냥 나 자신을 깨달았다. 감사합니다 – Automatico

+0

수락하려면 10 분을 기다려야합니다. – Automatico

관련 문제