我有一个基本的 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 是字符串。第一次运行时,它会正确打印所有内容。第二次,它什么也没打印出来,只是一堆空白行。当我测试找出缓冲区是什么时,我得到了它的“”。你知道问题是什么或我该如何解决?