首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

受不鸟了。关于socket send和recv发送数据?该怎么处理

2012-03-17 
受不鸟了。。。关于socket send和recv发送数据?服务器要发给客户端一个大小为 12320 Byte 的一个txt文件,但是

受不鸟了。。。关于socket send和recv发送数据?
服务器要发给客户端一个大小为 12320 Byte 的一个txt文件,但是每次client收到的是 一个比 12320 Byte 略大一点的txt文件,每次大小都不一样。打开看一下。发现里面会有好几处字符中比原来的正常的txt文件 多了4个“烫”。。。。
怎么办啊。。。

我贴一下代码。球各位大大帮帮忙。。

C/C++ code
// server发送端char buffer[1024];         //发送数据缓冲区while(fgets( buffer, 1024, f))   //读文件{    int nBytesSent = send( client, buffer, strlen(buffer), 0 );  }//  client接收端DWORD dwBytesWriten = 1 ;memset( buffer, 0 , sizeof(buffer) );while( dwBytesWriten != 0 ){    nRecv = recv( s, buffer, sizeof(buffer), 0);    WriteFile( hFile, buffer, strlen(buffer), &dwBytesWriten, 0 );    memset( buffer, 0 , sizeof(buffer) );}


[解决办法]
char buffer[1024] = {0};
初始化一下
[解决办法]
对。。。。或者memset一下
[解决办法]
int nBytesSent = send( client, buffer, strlen(buffer), 0 );
这里没有保证发送的长度就是你读出的长度

WriteFile( hFile, buffer, strlen(buffer), &dwBytesWriten, 0 );
这里没有保证写入文件的长度就是你接收到的长度

热点排行