【问题标题】:Socket.io socket property not found in disconnect event, node.js在断开连接事件中找不到 Socket.io 套接字属性,node.js
【发布时间】:2013-04-10 02:55:32
【问题描述】:

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

在服务器端我有这个:

...
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 方法中都可用exept for socket.on('disconnect',...

我得到 undefined 的 userName 属性。


这根本不可能吗?如果这不是最佳实践,请告诉我。我对 node.js 非常陌生

【问题讨论】:

  • 现在发现错误。我怎么没看到这个?我有socket 作为输入变量,这与我要访问的套接字不同...

标签: node.js socket.io


【解决方案1】:

我认为 disconnect 事件没有传递参数,因此您实际上是在破坏您的 socket 变量。只需为其处理程序使用一个空参数列表:

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

【讨论】:

  • 刚刚意识到自己。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-08
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多