删除socket.io上的对象

dzm*_*dzm 13 javascript node.js socket.io

我正在使用Nodejs和Socket.io.当客户端连接时,会创建新的JavaScript对象.

这些物品永远存在吗?它们是否应在客户端断开连接时被删除或删除?甚至可以删除一个对象?我知道删除不起作用......

谢谢 - 我想这更像是一个普遍的问题,任何建议都会非常有用.

谢谢!

Moh*_*our 24

如果你不清理,那么是的,他们将永远留在那里,因为我认为你正在使它们全球化.

一旦用户通过绑定到disconnect事件侦听器断开连接,您应该进行清理:

var clients = {}
sockets.on('connection', function(socket) {
  clients[socket.id] = socket;

  socket.on('disconnect', function() {
    delete clients[socket.id];
  });
});
Run Code Online (Sandbox Code Playgroud)

  • 我不知道为什么,但是`删除客户端[socket.id];`有时只是不起作用.根据我的研究,它似乎是一个socket.io问题...... (5认同)