我正在尝试实施iOS VOIP应用程序。
我正在使用GCDAsyncSocket监听端口上的连接。我确实在info.plist中添加了所需的后台模式,并将readstream和writestream注册到kcfNetworkServiceTypeVOIP。
我还添加了KeepAliveTimeOutHandler来唤醒应用。处理程序块只是将唤醒时间打印到stdout。
只要应用程序位于前台,即可接受新连接,但当应用程序处于后台时,应用程序不会被唤醒,并且当应用程序再次移至前台时,所有尝试的连接都将发送到套接字。
我搜索了很多解决方案,但无法让它发挥作用。
提前致谢。
答案 0 :(得分:0)
我不确定它是否仍适用于您,但万一其他人会阅读此问题。 正如在this one中关于stackoverflow的其他类似问题中所讨论的那样,您可以只有一个处于NetworkServiceTypeVOIP模式的套接字。否则它们都将无法工作,您的应用程序将无法唤醒并且不接受新连接。