Я разработал клиент, который подключается к серверу. Клиент что-то пишет на сервер, а сервер читает и отвечает клиенту. Затем клиент читает то, что сказал сервер, и оба завершаются. Я хочу расширить это, позволяя клиенту и серверу продолжать говорить, скажем, еще 3 раза, а затем завершить работу. Я создал цикл for, где внутри этого цикла я обрабатывал код для чтения и записи как на сервере, так и на клиенте, но он завершается бесконечным циклом и записывает текст, введенный в первый раз, а не повторно запрашивает пользователя введите новые данные.
Код сервера, на котором выполняется чтение / запись, выглядит следующим образом:
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);
Кроме того, я закрываю файловые дескрипторы после завершения цикла.
Любая помощь с благодарностью