您的位置:首页 > 运维架构 > Linux

linux select检测连接断开

2013-04-24 11:43 183 查看
select函数可以用来监听多个socket连接。但是单纯select不能检检测连接断开的情况。可以配合recv函数来检测远程主机主动断开的情况。

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

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

如果是网线被拔(远程或是本地),只能通过超时判断了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: