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(文件结束符)
如果是网线被拔(远程或是本地),只能通过超时判断了。
远程主机断开后,select会立即返回(返回值大于0!不能用来判断断开的情况),这时调用recv函数返回的长度为0,这种情况就能判断主动断开了。
参照:http://bbs.csdn.net/topics/80103159 ,远程主机主动断开,select监视的socket马上会进入可读状态,然后会读到EOF(文件结束符)
如果是网线被拔(远程或是本地),只能通过超时判断了。
相关文章推荐
- soket编程相关(二)如何判断连接状态断开,Linux:C/Socket多路复用select(),阻塞
- linux 中检测网线 连接与断开的方法
- 面试中的soket编程相关(一)(如何判断连接状态断开,Linux:C/Socket多路复用select(),阻塞
- 用select检测对方断开tcp连接
- Linux检测TCP连接断开的一种简单实现方法
- Linux检测TCP连接断开的一种简单实现方法http://blog.csdn.net/wtewrw/article/details/6547380
- Linux检测TCP连接断开的一种简单实现方法
- 如何判断连接状态断开,Linux:C/Socket多路复用select(),阻塞
- 解决SecureCRT连接linux超时后断开
- Linux下检测网卡与网线连接状态
- 客户端连接linux经常间隔性断开链接【转】
- (转)TCP连接异常断开检测
- 怎样及时检测出非正常断开的TCP连接
- socket中使用心跳来检测连接是否断开
- 关于socket编程中服务器端如何检测客户端连接断开的问题
- linux socket网络编程:fcntl select(多个客户端连接服务器端情形)
- 使用 select 设计超时 connect 函数的问题(linux 上连接 127.0.0.1 任何端口总是成功)
- SSH连接linux时,长时间不操作就断开的解决方案
- Linux 检测网卡与网线连接状态
- Linux下检测网卡与网线连接状态