如何在iPhone应用程序中在后台运行UDP套接字?

S.P*_*.P. 6 sockets iphone udp objective-c

我的iPhone应用程序正在使用AsyncUdpSocket来处理UDP套接字.但是,当我的应用程序进入iOS 4.0的后台并返回到前台时,我收到以下错误:

应用程序'MyAppName'异常退出,信号13:管道损坏

这是因为当我的应用程序进入后台时,我的套接字断开连接.

如何避免这种情况并在后台运行UDP套接字?

Nik*_*sov 2

这与UDP无关。EPIPE仅发生在“流”文件描述符 - Unix 管道和 TCP 套接字上。

我猜你有某种控制 TCP 连接,当你进入后台时,该连接在远程端超时。您需要弄清楚如何使其保持活动状态或在应用程序唤醒时重新连接。

您还可以处理(或忽略)EPIPE、查看sigaction(2)并在从 返回时做出相应反应write(2)