您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> socket程序中read字节个数与write字节个数不同

socket程序中read字节个数与write字节个数不同

来源:网络整理     时间:2016/7/14 22:11:51     关键词:

关于网友提出的“ socket程序中read字节个数与write字节个数不同”问题疑问,本网通过在网上对“ socket程序中read字节个数与write字节个数不同”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: socket程序中read字节个数与write字节个数不同
描述:

客户端从文件读取数据发送到服务端。每一次发送和接收数据均一致,但是最后一次发送中,服务端read返回的数据个数与客户端write的数据个数不等。。。
客户端代码:


367                 while((len = read(fd,buffer,MAXSIZE)))     //send file
368                 {
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                 }

服务端代码:

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);
}

以上介绍了“ socket程序中read字节个数与write字节个数不同”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2645083.html

相关图片

相关文章