我正在linux中开发ac程序。我需要使用客户端服务器编程。我使用了读写,它工作得很好。但是在服务器和客户端都使用了20多次读写之后,它就停止了工作。那就是我没有收到任何输出。线。我不明白问题出在哪里,因为我使用的是相同的行。
bzero(&hl,200);
read(a,hl,50*sizeof(char));
printf("%s",hl);
在客户端,
bzero(&hl,200);
strcpy(hl,"hello");
write(a,hl,50*sizeof(char));
printf("%s",hl);
此外,我无法获取返回值并打印它。当我在 debian 中使用它时,我得到了返回值并能够打印。现在,我在 Ubuntu(在家)。它现在不打印返回值。也没有错误!跟操作系统有关系吗?
请帮我找出问题所在。
更新:
在服务器中,
int c: s=read(a,&c,sizeof(int)); printf("选择:%d",c);
在客户端,
scanf("%d",&ch); s=write(sd,&ch,sizeof(int));
两者的大小都是 4。但是,在客户端中,我在打印选择时得到了垃圾值。