【发布时间】:2015-02-04 13:09:34
【问题描述】:
假设单个浏览器中有 5 个打开的选项卡,我使用的是 Node.js 和 Socket.io。客户端和服务器交换数据包以维持(建立)通信。
如果关闭一个标签,与客户端的连接会丢失吗?
如何判断用户是否关闭了浏览器?
【问题讨论】:
-
似乎在关闭当前用户的每个选项卡(页面)后调用了服务器端的断开方法。这是正确的吗?为什么,如果用户仍然在线?为每个页面(标签)创建一个流?
假设单个浏览器中有 5 个打开的选项卡,我使用的是 Node.js 和 Socket.io。客户端和服务器交换数据包以维持(建立)通信。
如果关闭一个标签,与客户端的连接会丢失吗?
如何判断用户是否关闭了浏览器?
【问题讨论】:
是的,socket.io 会与每个选项卡建立新连接。您将需要考虑使用会话 cookie 来确定当前 socket.io 连接正在与哪个用户通信。
【讨论】: