2 qq 34204094 qq_34204094 于 2016.03.15 21:04 提问

关于socket编程的问题?

while(1)
{
if(recv(c, recvBuf, 1000, 0))

printf("%s\n",recvBuf);
else
break;
}
msdn 说当断开连接时 会返回 0 可是为什么 这段代码在于客服端无法连接时 仍
无法 跳出循环呢

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.15 21:24
已采纳

无法连接应当是返回-1吧,所以if判断一直是true

wangyan_HBU
wangyan_HBU   2016.03.16 16:33

if语句中没有明确recv的错误判断,改为if(rexv(..) == -1)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!