Socket Web App - 处理移动超时/退出?

Posted

技术标签:

【中文标题】Socket Web App - 处理移动超时/退出?【英文标题】:Socket Web App - Dealing w/ Mobile Timeouts/Exits? 【发布时间】:2011-11-16 09:31:45 【问题描述】:

假设你有一个 socket.io/node.js 聊天室。如果它在一堆计算机上打开,一切似乎都可以无限期地正常工作。

但假设您已在手机或平板电脑上连接,然后离开几分钟。您的移动设备已自动锁定,当您重新打开浏览器时,您在 PC 上看到的新消息不存在,您尝试发送的消息也无法通过。

是否有任何众所周知的解决方案或变通方法可以让移动用户正常工作?

到底发生了什么? (移动操作系统超时关闭套接字?(HTTP 与 TCP 会有所不同吗?)

感谢您的任何见解!

【问题讨论】:

【参考方案1】:

移动浏览器在不通知 javascript 的情况下进入睡眠状态时会停止 javascript 的执行。

您可以使用计时器Can any desktop browsers detect when the computer resumes from sleep? 检测它们何时重新唤醒

然后你需要重新连接到服务器。

您可以选择询问浏览器休眠时发生的所有消息。

【讨论】:

以上是关于Socket Web App - 处理移动超时/退出?的主要内容,如果未能解决你的问题,请参考以下文章

在apache tomcat中将字节写入Web套接字时写入超时

Heroku上的Node.js Web Socket H15空闲连接超时

Socket.io 1.0:配置关闭超时

Android学习之APP点击功能闪退问题的处理一

Android socket.IO中的Emit或Ack超时处理?

socket心跳超时检测,快速处理新思路(适用于超大量TCP连接情况下)