套接字.在断开连接事件中未找到IO套接字属性,node.js



我有一个小而恼人的问题,我找不到解决方案。

在服务器端,我有这个:

...
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在我所有的.on方法中可用,除了用于socket.on('disconnect',...

我得到undefined的userName属性。


这是不可能的吗?如果这不是最好的做法,请让我知道。我对node.js很陌生

我不认为disconnect事件传递了一个参数,所以你有效地打败了你的socket变量。只需为其处理程序使用一个空参数列表:

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

相关内容

  • 没有找到相关文章

最新更新