我的 iPhone 应用程序正在使用 AsyncUdpSocket处理UDP套接字。但是,当我的应用程序在 iOS 4.0 中进入后台并返回前台时,出现以下错误:
Application 'MyAppName' exited abnormally with signal 13: Broken pipe
这是因为当我的应用程序进入后台时,我的套接字已断开连接。
如何避免这种情况并在后台运行 UDP 套接字?
最佳答案
这与 UDP 无关。 EPIPE
仅适用于“流”文件描述符 - Unix 管道和 TCP 套接字。
我猜你有某种控制 TCP 连接,当你进入后台时,它在远程端超时。您需要弄清楚如何在应用程序唤醒时使其保持事件状态或重新连接。
您还可以处理(或忽略)EPIPE
,请参阅 sigaction(2)
,并在从 write(2)
返回时相应地使用react.
关于iphone - 如何在 iPhone 应用程序的后台运行 UDP 套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3988333/