为什么不能传输大文件

jiangdamalong 2006-10-26 09:00:42
每次读取文件中的1024个字节,发送,接收后然后写入文件也是1024个字节,
如此循环下去,直到结束。

这样为什么只能发送小文件,而不能发送打文件,比如发送一个3MB的MP3就会SEND函数失败。
除了增加文件的接受和发送缓存,还有其他什么办法发送大文件,不考虑多线程
...全文
235 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
neosu 2006-10-27
  • 打赏
  • 举报
回复
先发一个文件大小的INT型. 再一次发整个文件.
beijingshizi 2006-10-27
  • 打赏
  • 举报
回复
udp的发送最大限制为64k,至于tcp,不存在发送包大小,你顺序读取就是了。
@@鹏~~~ 2006-10-27
  • 打赏
  • 举报
回复
其实用不着考虑每次发送文件的大小,这个可以完全交给计算机处理,在发送端:
do{
nByetsThisTime=pSendSocket->Send(pch,size);
nBytesSent+=nByetsThisTime;
pch+=nByetsThisTime;
}while(nBytesSent<size);
客户端的接受也类似,只不过事先知道文件大小为好
theXhunter 2006-10-27
  • 打赏
  • 举报
回复
不会吧,我发过20多M的文件都没问题,而且一次是发100多KB;不知道你怎么发的
鄢老 2006-10-27
  • 打赏
  • 举报
回复
如果是发送3M或者更大的文件是,要n次发送,我以前用的是每次发送1000个字节。
主要在不断发送中要注意发送的间隔时间,最好用到select

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧