【发布时间】:2016-07-06 23:11:10
【问题描述】:
我有一个使用 NodeJS 和 Express 服务器的基本 Socket.io 实现。 (基本上是 Socket.io 网站上的 Get Started 示例)
在桌面上,它按预期连接/断开连接。当您浏览到套接字连接的页面时。连接事件在客户端和服务器端都被触发。当用户关闭浏览器时,套接字断开连接。
但在移动设备上,断开连接无法按预期工作。当您浏览到套接字连接的页面时,会触发事件。但是如果用户使用,socket.io 不会断开连接
- 关闭浏览器应用程序(Safari 或 Android 浏览器)(按主页按钮)
- 切换到另一个应用程序
- 打开一个新标签
- 使设备进入睡眠状态(按下睡眠按钮)
并且断开事件不会在服务器和客户端上触发。
我尝试使用 window.pagehide 通过 JavaScript 检测这些事件,但它也没有正确触发。
有谁知道当用户离开移动页面时如何确保 Socket.io 断开连接。
非常感谢任何帮助。 多鲁克
【问题讨论】:
标签: javascript mobile socket.io