C语言 读取函数未返回任何值

sigwle7e  于 2023-10-16  发布在  其他
关注(0)|答案(1)|浏览(152)

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;
xqkwcwgp

xqkwcwgp1#

read()默认是阻塞调用,因此它将等待直到获得数据。如果你想要非阻塞功能,请阅读this问题的答案。

相关问题