linux select检测连接断开

本文介绍了如何利用select函数结合recv函数来检测socket连接是否被远程主机主动断开的方法,并探讨了在网络连接异常情况下的处理策略。

select函数可以用来监听多个socket连接。但是单纯select不能检检测连接断开的情况。可以配合recv函数来检测远程主机主动断开的情况。

远程主机断开后,select会立即返回(返回值大于0!不能用来判断断开的情况),这时调用recv函数返回的长度为0,这种情况就能判断主动断开了。

参照:http://bbs.csdn.net/topics/80103159 ,远程主机主动断开,select监视的socket马上会进入可读状态,然后会读到EOF(文件结束符)

如果是网线被拔(远程或是本地),只能通过超时判断了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值