关于socket编程的问题?

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

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

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

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