socket程序中read字节个数与write字节个数不同
客户端从文件读取数据发送到服务端。每一次发送和接收数据均一致,但是最后一次发送中,服务端read返回的数据个数与客户端write的数据个数不等。。。
客户端关键代码:
while((len = read(*pfd,buffer,MAXSIZE)))188 {189 printf("len=%d\n",len);190 if(len == -1)191 {192 printf("read error!!\n");193 exit(0);194 }195 printf("buffer:%s\n",buffer);196 write(fd,buffer,len);}
367 while((len = read(fd,buffer,MAXSIZE))) //send file368 {369 printf("len = %d\n",len);370 printf("buffer:%s\n",buffer);371 write(*pPeerfd,(void *)buffer,len);372 memset(buffer,'\0',MAXSIZE);373 size += len;374 if(len < MAXSIZE)375 break;376 }