由于升级到IOS5,原来的应用在断开WIFI(锁屏幕或屏幕自动熄灭)的时候,程序自动退出了,跟踪了一下,发现是收到了SIGPIPE信号。可是之前的系统版本就没有这个问题,而且广播也没有。所以还是处理一下这个信号,在创建Socket的时候,设置SO_NOPIPE 参数,并且在屏幕重新亮起的时候,把socket重新建立一遍,保证连接。
查到一个Apple给一个用户的回复邮件,还有Demo代码:
http://www.badrit.com/blog/2010/11/30/ignore-sigpipe-signal-on-ios#comment-wrap
如果你在升级到IOS5后同样遇到了网络问题,可以联系我,cokecoffe@qq.com