我正在为 iPhone/iPad 编写一个 VOIP 客户端。该服务使用一个打孔的 UDP 连接到服务器,然后使用 P2P UDP 连接到好友列表中的每个好友。
据我所知,连接是 POSIX 套接字(使用 sys/socket.h)。
研究 Apple 的文档,他们需要
- TCP 套接字,UDP 自 iOS 4.2 起停止工作
- 非 POSIX,高级套接字的东西,比如他们的 CFNetworking 类
用于后台 VOIP 服务。
我认为可以使用 CFNetworking 包装套接字,但我不知道如何做到这一点,也不知道是否可以将其转换为 TCP。
另外我认为iOS只允许后台应用程序的1个套接字连接,是否有人有更多关于其有效性的信息,或者是否有解决方法?当然,有人知道如何包装套接字吗?