为什么recv会在一直等待?
程序已连接上ftp服务器,但还没发送USER ,PASS等请求信息。接收套结字为fd,我想输出ftp服务器发送过来的欢迎信息,如
220- 欢迎光临
===================================
welcome!
...
===================================
220 请用正确帐号登陆
因为服务器可能分几次把信息发送过来,所以用一个循环来接收信息,
while(recv(fd,temp,1024,0))
{
strcat(buf,temp);
printf("%s",buf);
}
结果输出到 "220 请用正确帐号登陆"后就阻塞了,我用fcntl把fd设置为O_NONBLOCK,但还是阻塞,请我这是什么原因?