ios调用unix 网络编程的socket 接口实行UDP通信, 锁屏后解屏会闪退的解决方法

原因:IOS 锁屏,然后解屏后,会发出一个SIGPIPE 信号,大家都知道,系统默认收到该信号,进程退出的。


解决:

方法1:signal( SIGPIPE, SIG_IGN ); 该方法不知道为什么,在IOS 真机下跑,无法捕捉SIGPIPE;

方法2:setsockopt( nSocket, SOL_SOCKET, SO_NOSIGPIPE, (void *)&set, sizeof(int) ); 该方法可以彻底解决

所以只能使用方法2;


引出的其他问题:

锁屏,解屏后,对锁屏前的socket 进行recv 会返回-1, 这时候需要关闭socket ,重新创建。


暂时只有这个方法了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值