我有一个小但烦人的问题,我无法找到解决方案。
在服务器端,我有这个:
...
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
1>} .on
方法 exept 可用于socket.on('disconnect',...
我获得了userName属性的undefined
。
这根本不可能吗?如果这不是最好的pratcie,请告诉我。我是node.js的新手
答案 0 :(得分:1)
我不认为disconnect
事件是通过参数传递的,所以你有效地破坏了你的socket
变量。只需为其处理程序使用空参数列表:
socket.on('disconnect', function()
{
console.log(socket.userName+" has disconnected");
});