Re: このクライアント <-> サーバー (foodrequest-foodinfo シナリオ) 成功したクライアント サーバー接続 sock_fd に受信を送信しようとしています。このループでは、最初の情報が返されますが、次の反復はキーボード入力、つまり readInFood() で停止します。バッファの処理方法に問題はありますか? もしくはそうでないか。
RESPONSE_BUFFER = 2200;
INPUT_BUFFER = 100;
int numbytes;
char foodType[INPUT_BUFFER];
char foodResponse[RESPONSE_BUFFER];
do {
//send a message to server
if (send(sock_fd, readInFood(foodType), INPUT_BUFFER, 0) == -1)
perror("send");
//receive the message
if ((numbytes = read(sock_fd, foodResponse, RESPONSE_BUFFER)) == -1) {
perror("receive");
exit(EXIT_FAILURE);
}
//end the buffer string
foodResponse[numbytes] = '\0';
//print the buffer
printf("\nThis is the information you require: %s", foodResponse);
} while (foodType[0] != 'q' || foodType[0] != 'Q');