Joe*_*ian 1 sockets iphone background sigpipe
我在我的应用程序中使用BSD套接字在iphone4(iOS4.1)上发送和接收数据,我的应用程序有三种情况:
我搜索了很多但没有任何用处,从这里我知道SIGPIPE是什么,我使用setsockopt(sock,SOL_SOCKET,SO_NOSIGPIPE,(void*)&on,sizeof(int))来避免app异常退出.但我仍然不知道为什么这个错误只发生在情况3中,以及如何在这种情况下通过bsd套接字正常发送数据.
我尝试更新并重新连接但它不起作用,它仍然会收到SIGPIPE错误.我认为可能所有BSD套接字在情况3中都无法获得内部访问(据我们所知,BSD套接字无法在iOS中激活wifi或EDGE连接),任何人都可以帮助我或给我一些建议吗?抱歉我的破碎的英语^.^,非常感谢.
我在谷歌搜索并在10个月前发现了我自己的问题,这很有趣.我已经为应用的解决方案保持后台运行,并调用setsockopt(袜子,SOL_SOCKET,SO_NOSIGPIPE,(无效*)上的sizeof(int)的)是有用的,这将忽略SIGPIPE 13错误.
当套接字已经丢失物理连接并仍尝试通过Wifi,3G或附件写入数据时,会发生此错误.
| 归档时间: |
|
| 查看次数: |
2946 次 |
| 最近记录: |