0
この問題に関するその他の質問を読んだが、問題の解決策が見つかりませんでした。私はあなたがListenerを削除したり、クリックハンドラからソケットコードを移動したりすることができるのを見ましたが、私の問題には合わないようです。ソケットが複数回呼び出されました
私はソケット+ ajaxを使用しています。次のように私のコードのロジックが行く:
//client side
button.onclick = function() {Communicate(info);return false;};
function Communicate(info) {
// ajax call
}
// server side -> receive ajax
app.post("/...",function(req,res) {
// do stuff (...)
// send global socket call
io.sockets.emit("GlobalCall",xx);
// return ajax call to the user who triggered this
res.send(...));
});
// client side again
socket.on("GlobalCall",function(x)) {
// this is called twice sometimes for some reason... It should be called only once each time the server emits ...
}
私はコードにコメントしたように、サーバは一度しか発するが、「GlobalCall」が2回時々起こります。 助けてください?ありがとう
何が問題ですか?エラーは何ですか? – robkuz
@robkuz私は一度だけサーバー側でしか送信しませんが、クライアント側ではsocket.on( "GlobalCall" ...)が2回呼び出されることがあります –
フロントエンドにsocket.onの前にconsole.logを追加できますか?発行時にこのコードが何回実行されたかを確認してください。登録時に –