在iOS上,Socket.io与屏幕关闭断开连接

时间:2013-12-15 19:44:11

标签: ios node.js web-applications websocket

我正在使用Node.js和Socket.io开发卡片游戏作为Web应用程序。作为拥有Nexus 5和最新操作系统的Android用户,以及最新版本的Chrome移动版,我没有遇到任何问题。在使用iPhone 5并解决一些小问题后,我注意到当手机屏幕关闭时,插座断开连接。我有服务器端日志记录(我正在运行云端服务),它表示播放器断开时的ID(恰好也是套接字标识符)。在Android上关闭屏幕似乎没有任何问题,并且只有在我完全退出应用程序并将其从打开的应用程序/多任务视图中移开时,它才会断开连接。拥有一个为每个websocket连接创建一个新播放器的Web应用程序,如果每次屏幕关闭时将该播放器从游戏中移除,就变得毫无用处。

关于可能导致此更改或任何配置更改的任何想法,我可以做到这会阻止这种情况?我尝试过谷歌搜索,但似乎无法找到任何相关问题。

编辑 - 使用javascript socket.io

1 个答案:

答案 0 :(得分:0)

我已经与ios 6,ios 7和ios 8一起进行了一些广泛的测试。 与socket.io

我可以确认ios 7上的睡眠/电源关闭会立即断开插座。在ios 6和ios 8中情况并非如此。

这很好知道,虽然当然应该处理这两种情况。

如果您在心跳超时内再次打开设备,则在ios 6或8上

您的连接仍然存在。如果等待更长时间,连接将断开连接。