社区
网络编程
帖子详情
如何才能在传送文件中更有效率
frman
2006-02-19 02:03:02
自己写了个利用TCP传送文件的模块,但在实际传送中速度却很慢。大概只有同等网络条件下QQ文件传送速度的1/3
除了设置socket的缓冲和TCP的窗口大小外 有什么东西对文件传送速度影响最大?
我在实际实现中是用ReadFile读一段 然后发送出去,收到后在WriteFile。
比较高效率的实现应该是怎样的呢?他们采取的什么方法?
...全文
182
10
打赏
收藏
如何才能在传送文件中更有效率
自己写了个利用TCP传送文件的模块,但在实际传送中速度却很慢。大概只有同等网络条件下QQ文件传送速度的1/3 除了设置socket的缓冲和TCP的窗口大小外 有什么东西对文件传送速度影响最大? 我在实际实现中是用ReadFile读一段 然后发送出去,收到后在WriteFile。 比较高效率的实现应该是怎样的呢?他们采取的什么方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
foxqwx
2006-02-22
打赏
举报
回复
建议先采用wupangzi(无本之木) 的方法进行分析一下,找出问题的症结所在,然后再对症下药。
另外,可以考虑的策略有:
1、空间换时间,加大接受和发送端的缓存;
2、缓存策略要设置好,减少动态分配和回收内存的次数;
3、多socket,多线程,分别读取文件各段,数据分块传输,编号,然后在服务器端重组,按序写入。
wupangzi
2006-02-20
打赏
举报
回复
在网络状况良好的情况下,我个人认为影响速度的原因可能是读和写文件引起的!
你可以先在读数据、发数据、收数据和写好数据的时候分别用时间打印出来分析一下,时间花费大概多少!
如果确实是读写引起的,你可以把读、发、收、写分别用一个独立的线程进行操作!
huangwc
2006-02-20
打赏
举报
回复
你可以多个线程将数据分块传输
就跟flashget一样
然后在接收段将数据重组
frman
2006-02-20
打赏
举报
回复
我说的是传送单一文件
这也需要开多线程吗?多个线程传送文件的不同部分?这样会有效率?
另外QQ传送文件是TCP,你可以随便开个防火墙看看
striking
2006-02-20
打赏
举报
回复
mark
an_bachelor
2006-02-19
打赏
举报
回复
當然多綫程需要開多個socket傳 另外QQ傳文件用的是UDP
frman
2006-02-19
打赏
举报
回复
为什么带星星的都喜欢抛出句话就闪
我一共操作一个socket还要怎么多线程?
是指网络收发和磁盘操作分开吗?
xuzheng318
2006-02-19
打赏
举报
回复
用多线程!
frman
2006-02-19
打赏
举报
回复
在收发操作上我采用重叠I/O,主要就是为主线程可以随时终止收发操作
但我只使用一个overlapped结构,直到WSAGetOverlappedResult()成功后才进行第二个操作。
你的意思是要我用多个overlapped结构一次进行N个收发操作吗?
在只使用一个socket情况下这样会有帮助吗?
DentistryDoctor
2006-02-19
打赏
举报
回复
考虑多线程及异步IO。
大
文件
传输有哪些方式可用?大
文件
传输有哪些方式?
目前,企业内部在传输几个GB的大
文件
时,通常是用网络云盘、FTP、QQ、邮箱等方式,若
文件
容量较大,则可能直接寄硬盘,同城快递的时间相对来说短,但如果非同城,则基本要花2-3天的时间,不能及时地获取到新的
文件
,...
从TS
文件
中
提取DVB Subtitle字幕的有效方法
从TS
文件
中
提取DVB Subtitle字幕的有效方法 深圳市同洲电子股份有限公司韦斌 (本文发表于《卫星电视与宽带多媒体》2013年16期) 摘要:DVB Subtitling标准的多语种可消隐字幕已大量运用于欧洲数字电视广播...
怎样把
文件
转成bt
文件
?
然后打开BitComet,在"
文件
"菜单
中
选择"制作Torrent
文件
"选项,界面如图1所示.
传送
门:http://www.bitcomet.com/en/downloading (安装的时候,安全软件比如360安全卫士会拦截为木马,放开就可以。) 第二步: ...
超详细|一篇搞定操作系统——
文件
管理
文章目录5.1
文件
管理概述5.2
文件
结构5.2.1
文件
的逻辑结构5.2.2
文件
的物理结构5.3
文件
目录管理5.4
文件
的存储设备5.4.1
文件
的存储设备5.4.2 磁盘调度算法5.4.3 存储空间的分配与回收5.5
文件
的共享与安全 ...
快速实现大
文件
传输你了解多少?
在企业生产过程
中
需要进行信息数据交换、搬运。这时就需要进行大
文件
的传输。方方面面的行业都要涉及到大
文件
传输。例如影视行业需要每天进行视频素材的传输,一个视频小至几十兆,多至几T的视频数据要从拍摄地传输...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章