2

我在这里很新。在这种情况下,我尝试使用 emit 函数,但没有运气:(。

服务器端:

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 事件时,没有消息出现在响应中。sys.puts("socket name:"+ myVar)如果我在 for 循环中写入,所有套接字名称都会按我的预期出现。

为什么客户端没有收到任何答案(没有错误消息或任何类型的警告)?:)

4

1 回答 1

2

有问题的线路:

socket.id=msg.id;

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

于 2013-02-05T10:34:00.930 回答