iOS VOIP 应用程序在后台不接受新的套接字连接

标签 ios voip

我正在尝试实现一个 iOS VOIP 应用程序。

我正在使用 GCDAsyncSocket 来监听连接端口。我确实在 info.plist 中添加了所需的背景模式,并将读取流和写入流注册到 kcfNetworkServiceTypeVOIP。

我还添加了 KeepAliveTimeOutHandler 来唤醒应用程序。处理程序 block 只是将唤醒时间打印到标准输出。

只要应用程序在前台,新连接就会被接受,但当应用程序在后台时,应用程序不会被唤醒,所有尝试的连接都会在应用程序再次移至前台时发送到套接字。

我搜索了很多解决方案,但无法让它发挥作用。

提前致谢。

最佳答案

我不确定它是否仍然与您相关,但以防其他人阅读此问题。 正如在 this one 中有关 stackoverflow 的其他类似问题中所讨论的那样例如,您只能有一个处于 NetworkServiceTypeVOIP 模式的套接字。否则它们都不会工作,您的应用程序将不会唤醒并且不会接受新连接。

关于iOS VOIP 应用程序在后台不接受新的套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12219998/

相关文章:

ios - 分支IO SDK更改域中断链接

sip - Mobicents - RestComm 问题

ios - 当应用程序收到 Pushkit Voip Push 时,它会获得多少运行时间?

ios - 如果用户在 swift iOS 中点击两次,则取消 NSURLSession

iphone - iOS 中 View Controller 和旋转之间的转换

ios - 选择时在UIButton上添加/删除下划线

ios - pjusa 与 iOS 出现错误 (PJSIP_ENOCREDENTIAL) [状态 = 171101]

iphone - 从 Linphone 调用中获取来电号码

swift - 更改 Linphone 以使用 TCP

ios - 如何在我的 viewController 中访问我的自定义 UITableViewCell 的方法