0

「stateChange」イベントを送信している次のコードの2番目のemit()(さらに必要な場合は、重要な部分を選択しました)が実行されていないように見えるという問題があります。「ID」イベントはサーバーによって受信されます。

this.socket = io.connect('...');
this.socket.emit("ID", {canvasID: this.ID});

this.socket.on(PLACE_BUBBLE, function(data){
    var node = uCanvas.placeBubble(data.x1, data.y1);
    this.socket.emit("stateChange",
        {action : PLACE_BUBBLE, canvasID : this.ID, nodeID : node.nodeID, x : node.x, y : node.y});
});

サーバーは次のようになっています。

socketio.sockets.on("connection", function(socket){
    socket.on("ID", function(data){
       ...
    });
    socket.on("stateChange", function(data){
       ...
    });
});

placeBubble() が実行されますが、サーバーに送り返される情報はまったくありません。

/解決済み: 問題は uCanvas.socket.emit() である this.socket.emit の「これ」でした。これは、ソケットを保持するオブジェクトでした。

4

1 に答える 1