我正在使用react native开发应用程序,我使用WebSocket
与后端进行通信。
即使在后台模式下,我也希望套接字处于活动状态。我在这里找到了相关文章:How to handle socket connection's events when app is in background?它基本上说它不可能。
但是,我在我的模拟器上本地尝试了,通过使应用程序进入后台模式,套接字继续接收数据(通过远程调试中仍然发生的日志证明)。
所以我的问题是,即使应用程序进入后台模式,套接字是否保持活动状态?或者它只是活跃的,因为它只在模拟器上(没有在真实设备上试过,我的iphone iOS版本太旧)。如果发生这种情况是因为它只是模拟器,除了推送通知之外还有其他解决方案吗?
附上截图。提前致谢
答案 0 :(得分:4)
iOS允许连接完成一段时间才能被操作系统杀死。 iOS9及更高版本使用'Executing Finite-Length Tasks'最多3分钟。
此外,模拟器允许更多的实际设备。
如果您的应用是VOIP应用,音频流媒体或需要连接附件,您可以在后台使用套接字。如果您打算误用模式,请注意Apple可能会拒绝您的应用程序。