VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1543|回复: 8

[求助] 俺写的IOCP为什么传输文件的速度就这么慢了

[复制链接]
50_avatar_middle
在线会员 发表于 2016-7-12 09:23:52 | 显示全部楼层 |阅读模式
3驿站币
俺写的IOCP为什么传输文件的速度就这么慢了,
IOCP:while读取文件数据,读一次 Send()一次,

这种发送是不是很落后呀,下面的接收要接收很久,像QQ收发文件就很快,他是怎么实现的





上一篇:请问如何通过那些VC API 来实现局域网文件的下载,上传,删除呢?
下一篇:VC++做工控画面,怎样做按压式按钮?
24_avatar_middle
在线会员 发表于 2016-7-12 10:34:59 | 显示全部楼层
多线程,反汇编一下QQ就知道了
51_avatar_middle
online_admins 发表于 2016-7-12 18:12:06 | 显示全部楼层
缓冲区设置的大一点应该能提速不少,不知楼主当前设置的是多少?
98_avatar_middle
online_moderator 发表于 2016-7-13 10:25:42 | 显示全部楼层
估计还是你代码逻辑问题,一般都是文件操作是瓶颈,可以一个线程不停的读数据,读取粒度大一些,然后丢个网络去发送就好。
20_avatar_middle
在线会员 发表于 2016-7-14 17:09:55 | 显示全部楼层
直接用sendpackage啊  应该是这个函数
20_avatar_middle
在线会员 发表于 2016-7-16 10:37:33 | 显示全部楼层
naxienian3 发表于 2016-7-15 21:59
别扯蛋了好不?呵呵

抱歉 记错了  是transmitfile  和 transmitpackage 这两个函数
05_avatar_middle
在线会员 发表于 2016-7-17 20:53:34 | 显示全部楼层
读取一次,发送一次,本来io就慢,你还把两个io串行处理,  并行处理吧 ,逻辑处理好就行了。
你保证发送的时候,send缓冲区总有数据就 提高了不少。
家庭宽带都是上传有限制,上面保证你和别人传送的速度提高了。
但是局域网基本上可以达到10M/s速度。传送的瓶颈是磁盘io,在局域网里面可以使用多线程传送,这样就又提高了不少。
47_avatar_middle
在线会员 发表于 2016-7-18 09:45:10 | 显示全部楼层
人家明显是多线程并行处理,syc老大在http 的时候不是说过断点续传么,把断点搞成人工分段,最后统计结束
91_avatar_middle
在线会员 发表于 2016-7-25 08:58:57 | 显示全部楼层
早上起来,学习一下
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-19 12:53

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表