用select如何侦测TCP连接是否被对方关闭
1个回答
展开全部
以判断一个连接为例
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))
{
/* 这两种情况都可认为是链路关闭*/
}
...
}
...
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))
{
/* 这两种情况都可认为是链路关闭*/
}
...
}
...
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询