windows socket编程阻塞模式下,recv函数返回0?

fd_setfdRead={0};TIMEVAL*pstTime=NULL;if(!FD_ISSET(s,&fdRead))FD_SET(s,&fdRead);intre... fd_set fdRead = { 0 };

TIMEVAL *pstTime = NULL;

if ( !FD_ISSET( s, &fdRead ) )

FD_SET( s, &fdRead );

int res = select(s+1, &fdRead, NULL, NULL, pstTime ); //通过select函数设置为阻塞模式

if ( res > 0)
{
res = recv( s, lpBuffer, 4, 0); //阻塞,直到读取到4个字节
}

这段代码是通过select函数设置为阻塞模式的,但是为什么recv函数会返回为0呢?
展开
 我来答
空雪梦见
2014-08-20 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1212万
展开全部
在出错的时候recv会返回小于0。recv如果返回0,代表连接被对面关闭,而且是正常关闭的。
匿名用户
2014-08-20
展开全部
本吧一般不讨论编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式