n
的值是9,sockfd = 3
,当它调用read函数时,它不是从read函数中出来的。在打印读取开始行后,它仅在此处停止:
while(1)
{
if (n < 0)
{
printf("ERROR writing to socket");
}
else if(n == 0)
{
printf("Nothing");
}
printf(" read start n=%d\n ,sockfd = %d\n",n,sockfd);
n = read(sockfd,buffer,1024);
if (n < 0)
{ error("ERROR reading from socket");
}
printf("Reply= %s",buffer);
write_buf_to_file("/root/abc_regr/receive.txt",buffer);
}
return;
1条答案
按热度按时间xqkwcwgp1#
read()
默认是阻塞调用,因此它将等待直到获得数据。如果你想要非阻塞功能,请阅读this问题的答案。