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