iOS 4 VOIP应用程序在后台响应

Goz*_*Goz 4 c++ sockets iphone objective-c background-process

我有一个iPhone VOIP应用程序,可以应对使用BSD套接字设置的多重传输和接收(即电话会议).我希望它能够在后台响应传入的请求但是从我能理解的iOS 4文档中我只能通过将属性设置为NSStreamNetworkServiceTypeVoIP来对NSStream对象(或CFRead/WriteStream)执行此操作.这是一个问题,因为我的系统是基于UDP BSD套接字的应用程序.一切都在一个UDP套接字上接收和发送.

我是否需要重新编写我的音频发送/接收内核来处理NSStreams,还是有办法让iOS 4以类似于NSStream的方式处理我的BSD套接字?我认为这可能是一个问题,因为NSStream是基于事件的.

是否有可能检测应用程序何时进入后台并构建一个临时NSStream对象,该对象将通过相关处理传递数据然后继续正常?甚至可以创建UDP NSStream吗?

有任何想法吗?

tc.*_*tc. 5

您可以使用CFSocketCreateWithNative()从文件描述符创建套接字,然后使用CFStreamCreatePairWithSocket()创建一对流.它可能允许您在UDP套接字上使用它们.如果除非您询问,流不会读取数据,您可以直接使用FD.

祝你好运!