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にいます(自宅)。現在、戻り値を出力していません。エラーもありません!OSとか関係ない?
問題を解決するのを手伝ってください。
更新しました:
サーバーでは、
int c: s=read(a,&c,sizeof(int)); printf("選択: %d",c);
クライアントでは、
scanf("%d",&ch); s=write(sd,&ch,sizeof(int));
どちらもサイズは 4 です。しかし、クライアントでは、選択肢を印刷しているときにガベージ値を取得しました。