我有一个 VoIP 套接字设置,即使在挂起状态下它也能正常工作,并且每 10 分钟 ping 一次服务器。
但是当 WiFi 连接断开时,我不知道如何重新连接到服务,即使处于暂停状态也是如此。设备重启也是如此。
有什么经验吗?
最佳答案
- WiFI 不良:iOS 不允许您选择绑定(bind)到套接字的网络,这意味着:
- 如果设备只有 2G/3G/4G 网络,它将绑定(bind)您的套接字。
- 如果您也有 WiFi(也有损坏的 WiFi),它会将您的套接字绑定(bind)在其上,即使这对您不利。
- 重新连接:您可以在UIApplication中使用您的 10 分钟 KeepAlive block ,以便尝试每 10 分钟修复一次连接:每 10 分钟唤醒一次并尝试重新连接.
- 应用程序自动启动:设备重新启动后,VoIP 应用程序确实会运行(如果它在重新启动之前运行)。 (此 VoIP 应用程序权限还会在崩溃后启动您的应用程序)
- 注意:您可以通过在applicationDidFinishLaunching中询问UIApplication其applicationState来检测您是否自动启动。
- 提示:在后台执行操作时使用后台任务。
- 链接:
关于iphone - 在 WiFi 重新连接和设备重新启动 (iOS) 上维护 VoIP 套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9112861/