首页 > 解决方案 > socket.io 不会关闭之前的连接

问题描述

我们有这个 socket.io 服务器端,它在 auth 上将用户加入他所在的房间,但在断开连接时,它似乎并没有真正断开连接,因为在新连接上我得到 2 个连接,如屏幕截图所示。还包括断开代码部分。

连接部分:

 io.on("connection", function(socket) {
    console.log("connected");
    console.log("user connected with " + socket.id);

断开部分:

 socket.on("disconnect", function() {
  socket.removeAllListeners();
  if (socket.auth) {
    socket.groups.forEach(group => {
      console.log("left " + group.chatGroupID);
      socket.leave(group.chatGroupID);
    });
  }

  delete socket[socket.id];
  socket.disconnect(true);
  console.log(socket.disconnected);
  console.info("disconnected user (id=" + socket.id + ").");
});

服务器打印输出:

服务器日志

标签: node.jsexpresssocket.io

解决方案


不知何故,我在我的文件夹套接字中查找了所有文件,因此嵌套了我的套接字,这导致了这种奇怪的行为


推荐阅读