以判断一个连接为例
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)
{ count = recv(lSockFd,buf,LEN,0);
if((count == 0) ¦ ¦(count == -1))
{
/* 这两种情况都可认为是链路关闭*/
}
...
}
...