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

我正在使用Node.js和Socket.io开发一个作为Web应用程序的纸牌游戏。 作为具有Nexus 5和最新操作系统的Android用户,以及最新版本的Chrome手机,我没有遇到任何问题。 在使用iPhone 5并熨平了一些小问题之后,我注意到当手机屏幕closures时,sockets断开连接。 我有服务器端日志logging(我正在运行云9服务),说他们断开播放器的身份证(这恰好是套接字标识符)。 在Android上closures屏幕似乎没有任何问题,并且只有当我通过从开放式应用程序/多任务处理视图中将其滑离应用程序完全退出应用程序时,它才会断开连接。 如果一个Web应用程序为每个WebSocket连接到单独的游戏创build一个新的玩家,如果每次屏幕closures时该玩家从游戏中移除,就变得毫无用处。

任何想法可能导致这个或任何configuration的变化,我可以做到这一点会阻止这个? 我试过谷歌search,但似乎无法find任何相关的问题。

编辑 – 使用JavaScript的socket.io

我已经做了一些广泛的testing与ios 6,ios 7和ios 8并列。 与socket.io

我可以确认在ios 7上睡眠/关机会立即断开sockets。 这不是在iOS 6和iOS 8上的情况。

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

在iOS 6或8上,如果您在心跳超时内再次打开设备,则连接仍会保留。 如果您等待更长时间,连接将断开连接。