問題が何であるかを教えてくれるvalgrindをインストールしますが、残念ながら、このコンピューターには新しいプログラムをインストールできません...この「エコー」プログラムに明らかな問題があるかどうか、誰か教えてもらえますか? 友人のためにこれを行っているので、反対側のクライアントのレイアウトはわかりませんが、読み取りと書き込みの両方が有効なソケット記述子であることはわかっており、n = write(writes,"私はあなたのメッセージ \n",20); n = write(reads,"メッセージを受け取りました \n",20); どちらも機能するため、無効な fd の場合ではないことを確認できます。ありがとう!
int
main( int argc, char** argv ) {
int reads = atoi(argv[1]) ;
int writes = atoi(argv[3]) ;
int n ;
char buffer[MAX_LINE];
memset(buffer, 0, sizeof(buffer));
int i = 0 ;
while (1) {
read(reads, buffer, sizeof(buffer));
n = write(writes,buffer,sizeof(buffer));
if (n < 0) perror("ERROR reading from socket");
}