用select检测对方断开tcp连接
2012-05-29 17:17
274 查看
无奈只能在每次发送数据之前检测对方是否断开连接,当然在发送数据之前检测的目的是保证这次发收数据不会因为对方断开连接而接受数据失败(对方断开连接,发送还是会成功的)。这个方法比较挫~ 使用了select + recv
fd_set read_set;
struct timeval t_o;
FD_ZERO(&read_set);
FD_SET(lSockFd,&read_set);
t_o.tv_sec = n;/* 超时秒数*/
ret = select(lSockFd + 1,&read_set,NULL,NULL,&t_o);
if(ret == 1)
{
if(FD_ISSET(lSockFd,&read_set)
{
count = recv(lSockFd,buf,LEN,0);
if((count == 0)||(count == -1))
{
/* 这两种情况都可认为是链路关闭*/
}
}
}
转自:http://guaniuzhijia.blog.163.com/blog/static/16547206920105202242262/
相关文章推荐
- 怎样及时检测出非正常断开的TCP连接
- NDK-TCP连接异常断开检测
- TCP连接异常断开的检测
- 怎样及时检测出非正常断开的TCP连接(zz)
- TCP连接异常断开检测
- TCP连接异常断开检测
- tcp长连接判断对方断开的方法
- 检测TCP非正常断开连接 SO_KEEPALIVE 使用缺陷分析
- 检测TCP非正常断开连接 SO_KEEPALIVE 使用缺陷分析 .
- (转)TCP连接异常断开检测
- 怎样及时检测出非正常断开的TCP连接
- tcp长连接判断对方断开的方法
- 怎样及时检测出非正常断开的TCP连接(zz)
- TCP连接异常断开的检测
- 优雅地关闭Socket;检测非正常断开的TCP连接
- 优雅地关闭Socket;检测非正常断开的TCP连接
- Linux检测TCP连接断开的一种简单实现方法
- linux select检测连接断开
- (转)TCP连接异常断开检测
- Linux检测TCP连接断开的一种简单实现方法http://blog.csdn.net/wtewrw/article/details/6547380