2

私はここでかなり新しいです。この場合、私はエミット機能を使用しようとしていますが、うまくいきません:(。

サーバ側:

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)と、すべてのソケット名が期待どおりに表示されます。

クライアントが何の応答も受け取らないのはなぜですか (エラー メッセージや警告はありません)。:)

4

1 に答える 1

2

問題のある行:

socket.id=msg.id;

In Socket.iosocket.idには事前定義された値があり、変更してはなりません。それがエラーの原因でした。

于 2013-02-05T10:34:00.930 に答える