Kev*_*Kev 21 javascript cross-browser websocket progressive-web-apps
语境
作为渐进式 Web 应用程序提供的游戏,它具有计时器 ( setTimeout, setInterval) 和 websocket 连接以获得实时通信。
怎么了
只要用户留在应用程序中,一切都很好。但是当用户转到另一个选项卡、另一个应用程序或关闭屏幕(在移动设备的情况下)时,它就变成了一个“地狱般的未知世界”。
这种行为似乎取决于浏览器和平台,甚至可能取决于特定的用户行为。我猜浏览器和操作系统有自己的生命周期/机制来节省电池和/或计算。
当用户回来时,应用程序处于未知状态,我正在努力正确恢复状态。
关于 websockets 我有与socket.io和reconnecting-websocket 的自动重新连接,但这还不足以解决所有问题。
寻找答案
有没有办法人为地重现这种行为以测试解决方案?在桌面上尤其困难。Websockets 无法关闭,并且 Chrome 开发人员似乎并不急于解决 2014 年的问题(!):使用连接限制时不包括 websockets
不管上述情况,是否有实用的跨浏览器解决方案来检测/解决此问题?(例如,根据经验,与 Chrome 相比,桌面版 Firefox 的行为似乎完全不同,iPhone 断开连接的频率远高于 Android)
相关链接
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |