套接字被多次调用

时间:2017-01-21 14:54:58

标签: javascript ajax node.js sockets

我读了关于这个问题的其他问题,但没有找到问题的解决方案。我看到你可以删除Listeners或者将套接字代码移出click click处理程序,例如但它似乎不适合我的问题。

我正在使用套接字+ 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"有时发生两次。 有帮助吗?谢谢

1 个答案:

答案 0 :(得分:0)

解决方案与套接字无关。发生的事情与每个已分配属性执行两次的jquery动画有关。我不知道,并没有注意到它。错误地责怪插座。