【发布时间】:2012-12-03 11:37:35
【问题描述】:
我正在 linux 中开发一个 c 程序。我需要使用客户端服务器编程。我使用了读写,它工作得很好。但是在服务器和客户端都使用了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。但是,在客户端打印选择时,我得到了垃圾值。
【问题讨论】:
标签: client-server