Remove objects on disconnect socket.io

北城余情 提交于 2020-01-01 02:05:09

问题


I'm using Nodejs and Socket.io. When the client connects, new JavaScript objects are created.

Do these objects just linger forever? Should they be deleted or removed when the client disconnects? Is it even possible to remove an object? I know delete won't work...

Thanks - I guess this is more of a general question and any suggestions would be really helpful.

Thanks!


回答1:


If you don't cleanup, then yes, they will stay there forever since I assume you are making them global.

You should cleanup once a user disconnects by binding to the disconnect event listener:

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

  socket.on('disconnect', function() {
    delete clients[socket.id];
  });
});


来源:https://stackoverflow.com/questions/9918203/remove-objects-on-disconnect-socket-io

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!