我的iPhone应用程序正在使用AsyncUdpSocket来处理UDP套接字。但是,当我的应用程序进入iOS 4.0的后台并返回到前台时,我收到以下错误:
应用程序'MyAppName'异常退出,信号13:管道损坏
这是因为当我的应用程序进入后台时,我的套接字断开连接。
如何避免这种情况并在后台运行UDP套接字?
答案 0 :(得分:2)
这与UDP无关。 EPIPE
仅适用于“流”文件描述符 - Unix管道和TCP套接字。
我猜你有某种控制TCP连接,当你进入后台时,它会在远程端超时。您需要弄清楚如何在应用程序唤醒时保持活动或重新连接。
您也可以处理(或忽略)EPIPE
,请参阅sigaction(2)
,并在write(2)
返回后对其作出相应的反应。