Node.js Socket.io,socket.emit不起作用

我在这里很新。 我试图在这种情况下使用发射function没有运气:(。

服务器端:

socket.on('newUser', function(msg){ ConnectedSockets ++; var player; player = new Player(); player.CreatePlayer(msg.id, msg.name, msg.status); socket.id=msg.id; socket.name=msg.name; sockets[socket.id] = socket; for(i in sockets){ var myVar=sockets[i].name; socket.emit('listing',{name: myVar} ); } }) ; 

客户端:

 socket.on('listing', function(msg){ $('#list').val($('#list').val() + "\n"+msg.name); }) ; 

当我在node.js控制台上发送newUser事件时,没有消息出现在响应中。 如果我在for循环中编写sys.puts("socket name:"+ myVar) ,则所有套接字名称都按我的预期显示。

为什么客户没有收到任何答复(没有错误信息或任何types的警告)? 🙂

问题线:

 socket.id=msg.id; 

在Socket.io中, socket.id有一个预定义的值,不能改变。 这导致了错误。