私はサーバーに接続するクライアントを開発しました。クライアントは何かをサーバーに書き込み、サーバーはクライアントを読み取り、応答します。次に、クライアントはサーバーが何を言ったかを読み取り、両方とも終了します。これを拡張して、クライアントとサーバーが3回以上話し続けてから終了することを許可します。私はforループを作成しました。このループの中で、サーバーとクライアントの両方でコードを読み書きしましたが、無限ループに終わり、ユーザーに最初に入力したテキストを書き込むのではなく、新しいデータを入力してください。サーバー/クライアントメッセージがC言語で受け渡し
次のように読み取り/書き込みが処理され、サーバー・コードは次のとおりです。
int temp = 0;
char cha [10] = "helloworld";
while(temp = 3){
int rc;
char ch[100];
rc = read(newsockfd, &ch, 100);
printf("Client sent: %s\n", ch) ;
write(newsockfd, cha + temp, 100);
temp ++;
}
close(sockfd);
close(newsockfd);
これは、読み取り/書き込みクライアントコードでは、処理されます
int temp = 0;
char cha[10] = "abcdefhijk";
while(temp = 3)
{
int rc;
char ch2 [100];
rc = write(sockfd, cha + temp, 100);
read(sockfd, &ch2, 100);
printf("Server said: %s\n", ch2);
temp ++;
}
sleep(2);
close(sockfd);
はまた、私は閉じていますループが完了した後のファイル記述子。あなたは、ループのコードを提供することができ
すべてのヘルプは大
while(temp = 3) 'は誤字のように見えます。提案:for()ループを使用します。 – wildplasser