首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

socket程序中read字节个数与write字节个数不同,该怎么解决

2012-10-21 
socket程序中read字节个数与write字节个数不同客户端从文件读取数据发送到服务端。每一次发送和接收数据均

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

客户端关键代码:

C/C++ code
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);}


服务端关键代码:
C/C++ code
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                 }


[解决办法]
TCP字节流,有空自己瞎折腾不如去看看UNIX相关开发书籍系统学习。

热点排行