我一直在用 node 和 Socket.io 开发一个在线游戏(基本上所有游戏的状态都在 Socket.io 中),但有一件事一直困扰着我。现在,用户必须关闭页面才能断开与服务器的连接。显然这需要更加优雅,我需要一个适当的“注销”按钮。
但是对于我的一生,我无法弄清楚如何制作一个。我在谷歌上搜索了答案,我已经梳理过了。我深入研究了 Socket.io 中的 Socket 对象,并尝试了以下 3 种听起来相关的方法来翻转 Socket 对象上的某些内容以断开该用户的连接:
socket.disconnected = true;
//and
socket.manager.connected[socket.id] = false;
//and
socket.manager.open[socket.id] = false;
但是这些都没有改变用户仍然连接的事实。这是怎么做到的?