+ -
当前位置:首页 → 问答吧 → SOCKEt编程,局域网内,我每次发送500KB行不?

SOCKEt编程,局域网内,我每次发送500KB行不?

时间:2011-12-15

来源:互联网



send()每次发送500KB,我看了send的返回值。也是500KB(换算了一下)!



但是我收到的PDF,MP3等文件,接收后打不开,无效! 



怎么回事?

作者: qweewqpkn2008   发布时间: 2011-12-15

可能是你在对收到的数据写进文件出问题了,还有得注意遇到'\0' 、 '\r' 、 '\n'字符等

作者: agoago_2009   发布时间: 2011-12-15

你发送了500K,但接受了500K吗

作者: shn521   发布时间: 2011-12-15

肯定是读写文件的时候除了问题。
我前两天还被这个搞得焦头烂额。。。。

需要注意的就是
C/C++ code


// 发送端
ReadFile( hFile, buffer, sizeof(buffer), &dwBytesRead, NULL);
send( client, buffer, dwBytesRead, 0);   //dwBytesRead一定要作为发送的字节数

//接收端
int nRecv = recv( s, buffer, sizeof(buffer), 0 );
WriteFile( hFile, buffer, nRecv, &dwBytesWriten, NULL ); //nRecv一定要作为写文件的字节数




LZ行行好给点分吧。。。
我已经没分问问题了。。。。


作者: gjt19910817   发布时间: 2011-12-15

你算算你总共发了多少,接收了多少,然后再想想每次发多少比较合适

作者: My_ID_is_NULL   发布时间: 2011-12-15

引用 2 楼 shn521 的回复:

你发送了500K,但接受了500K吗


我查看了一下 每次接收没有接收到那么多? 该怎么办?

作者: qweewqpkn2008   发布时间: 2011-12-15

热门下载

更多