类似于现在那些下载软件(bt 电驴 迅雷 快车)里的限速功能. 我的程序里既是客户端又是服务端(有iocp方式的异步文件发送,又有堵塞方式的多线程文件接收),做的是自己定义的一种多点p2p传输工具. 现在就限速功能做得不如意. 不知道那些著名下载软件用的是一种什么方法,做到限速比较精确.各位能给点思路吗? Sleep就不用说了,那种有点儿戏.
解决方案 »
- 求助一个MFC多线程的问题
- 关于LoadImage()函数的奇怪问题。。。。。。
- 有关microsoft communications control的问题?
- 用GlobalAlloc就发生例外发生的时候,用HeapAlloc就可以成功分配一块内存..是不是堆占溢出.
- ftp断点续传问题!
- 请教关于EDIT控件READONLY属性的更改
- 急需office的接口函数库和说明!200分高分赠送
- 获取窗口句柄的奇怪问题!!!!!!!!
- 谁能提供用C编写的POP3或SMTP源码?
- CRichEdit控件怎么使用
- 在SDI程序里的CFormView中如何获取CMainFrame的句柄?
- 我在ACCESS中要保存一幅图片,使用AppendChunk存入BLOB,可为何再次打开数据库就会失败?
楼主搞笑了吧.自己写的东西也不能限速?随便简单的数学方法计算下发送用的时间,发送的数据,然后再Sleep()下,这是最简单的,基本上大部分阻塞I/O模型都是这样做的.如果想平滑的话,使用QOS吧,这东西比较麻烦的,99%的软件都是自己限制速度的(ftp服务器,代理服务器什么的)
我是用定时器来读取这个速度统计值的,就可能会在 sleep 后几毫秒读取这个值,这个值就可能非常小了。
请问有没有其他的方法呢?