我的客户端和服务器正在相互发送缓冲消息 . 以下是读/写代码的客户端和服务器端部分:

客户端:

if (connect( sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr) ) < 0) 
{
    perror("ERROR connecting");
    return(1);
}    

printf("Recieving Buffer 1 from Server side"); 

bzero(buffer1,256);
int i = 0;

while (i < 5)
{
    n = read(sockfd,buffer1,sizeof(buffer1));
    if (n<0)
        printf("ERROR reading in socket %d  len %d", n, sizeof(buffer1));

    n = write(sockfd,buff2,sizeof(buff2));
    if(n<0)
        printf("ERROR writing in socket %d  len %d", n, sizeof(buff2));

    printf("\nSent Buffer2 (WON'T TERMINAL TYPE) from client side");

    i++;

}

服务器端 :

printf("Server Sending (DO TERMINAL TYPE)\n");

while(1)
{
    while ((n = write(newsockfd,buff1,sizeof(buff1)))>0)
    {
        printf("Server Sent query %d: %hhX %hhX %hhX\n",count,buff1[count][0],buff1[count][1],                   buff1[count][2]);
        n = read(newsockfd, recbuf , sizeof(recbuf));
        printf("Server received response: %hhX %hhX %hhX\n",recbuf[0],recbuf[1],recbuf[2]);
        count++;
        count = count % 3;
     }
         if (n<0)
        {
            perror("Error writing to socket ");
            exit(1);
        }
}

我收到的输出:服务器:

./server 9998
Server Sending (DO TERMINAL TYPE)
Server Sent query 1: FF FD 1E
Server received response: FF FC 18
Server Sent query 2: FF FD 1D
Server received response: FF FC 18
Server Sent query 0: FF FD 18
Server received response: FF FC 18
Server Sent query 1: FF FD 1E
Server received response: FF FC 18
Server Sent query 2: FF FD 1D
Server received response: FF FC 18
Server Sent query 0: FF FD 18
Server received response: FF FC 18
Error writing to socket : Connection reset by peer

客户端 :

./client 127.0.0.1 9998
Recieving Buffer 1 from Server side
Sent Buffer2 (WON'T TERMINAL TYPE) from client side
Sent Buffer2 (WON'T TERMINAL TYPE) from client side
Sent Buffer2 (WON'T TERMINAL TYPE) from client side
Sent Buffer2 (WON'T TERMINAL TYPE) from client side
Sent Buffer2 (WON'T TERMINAL TYPE) from client side

我希望在i = 5之后关闭连接,即在服务器 - 客户端之间交换5个缓冲区消息之后,但是程序给出了由对等方重置连接的错误(我想客户端有些错误) . 我该怎么解决这个问题?提前致谢