为什么在从套接字读取之前打印你好然后祝你好运然后又是你好sockfd
?
那么为什么它跳过读取打印?
int number=read(sockfd,&buff,500);
while(number>0)
{
printf("hello ");
number=read(sockfd,&buff,500);
printf("good luck");
}
为什么在从套接字读取之前打印你好然后祝你好运然后又是你好sockfd
?
那么为什么它跳过读取打印?
int number=read(sockfd,&buff,500);
while(number>0)
{
printf("hello ");
number=read(sockfd,&buff,500);
printf("good luck");
}
因为当连接到终端时,stdout
是行缓冲的,\n
所以在打印内容的末尾添加一个prinf("hello\n");
或使用fflush
:
while(number>0)
{
printf("hello ");
fflush(stdout);
number=read(sockfd,&buff,500);
printf("good luck");
fflush(stdout);
}
更改此读取语句
number=read(sockfd,&buff,500); ==> number=read(sockfd,buff,500);
你只需要读入缓冲区。