我有一个客户端和一个服务器。我的客户端中有两个 read(),服务器代码中有两个 write()。服务器在第一次 write() 时向客户端发送数据,客户端读取并存储到缓冲区,但它不会停止读取,它会继续读取服务器的第二次 write(),因为在我的客户端中,我将其设置为在流中读取 255(据我了解)。我放了 255,因为我不知道第一次 write() 的数据数据大小有多长。我该如何解决?
客户:
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR reading from socket");
printf("%s\n",buffer);
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR reading from socket");
printf("%s\n",buffer);
服务器:
n = write(newsockfd,datasize,strlen(datasize));
if (n < 0) error("ERROR writing to socket");
n = write(newsockfd,data,255);
if (n < 0) error("ERROR writing to socket");