【发布时间】:2015-07-28 14:51:51
【问题描述】:
我有一个生产应用程序,它使用 socket.io(node.js 后端)将消息分发给所有登录的客户端。我的许多用户都遇到了与 socket.io 服务器的断开连接。客户端的正常用例是让 Web 应用程序在整个工作日保持打开状态。工作日中应用程序的大部分时间都处于空闲状态,但应用程序仍处于打开状态 - 直到 socket.io 连接丢失,然后应用程序将它们踢出。
有什么方法可以使连接更可靠,这样我的用户就不会经常失去与 socket.io 服务器的连接?
【问题讨论】:
-
客户使用什么样的电脑?移动设备?平板电脑?笔记本电脑?台式机?如今,许多设备会在设备未处于活动状态时进入省电模式,这将导致连接关闭。
-
100% 桌面,主要是现代浏览器 IE 9 或更高版本(大部分)、Chrome 和 Fire Fox。连接问题似乎不在任何特定浏览器上。
-
是否有任何桌面具有 CPU 进入睡眠的睡眠模式?
-
我希望我能确定,但老实说我对此表示怀疑。我在没有睡眠模式(操作系统或 CPU)的计算机上复制了它。
-
如果不是本地计算机终止连接,也不是服务器,那么它一定是客户端和服务器之间路径中的某个网络基础设施。如果 socket.io 配置正确并且客户端没有休眠,它应该在连接断开时重新连接。
标签: node.js socket.io-1.0