У меня есть базовая программа клиент / сервер TCP.
У меня есть метод на клиенте и на сервере, который читает и пишет. Он отлично работает при первом запуске, но когда он запускается снова (в цикле), он ничего не читает.
void printout(int newsockfd, char buffer) {
n = write(newsockfd, a2, 256);
n = write(newsockfd, a3, 256);
n = write(newsockfd, a4, 256);
n = write(newsockfd, a5, 256);
n = write(newsockfd, a6, 256);
}
на сервере
void printout(char buffer[], int sockfd) {
bzero(buffer, 256);
n = read(sockfd, buffer, 256);
printf("%s\n", buffer);
n = read(sockfd, buffer, 256);
printf("%s\n", buffer);
n = read(sockfd, buffer, 256);
printf("%s\n", buffer);
n = read(sockfd, buffer, 256);
printf("%s\n", buffer);
n = read(sockfd, buffer, 256);
printf("%s\n", buffer);
}
a2, a3, a4, a5 и a6 являются строками. При первом запуске он печатает все правильно. Во второй раз он ничего не печатает, просто куча пустых строк. Когда я проверил, чтобы выяснить, что это за буфер, я понял, что это "". Вы знаете, в чем проблема или как я могу это исправить?