如何限制进程的下载速度

viki117 2009-10-16 05:05:28
进程用的是多线程下载,而且线程的数量不固定,随着时间的推移,线程数量会在1到10之间变动,如果控制到每个线程的下载速度,不但比较麻烦,还要经常做线程间的操作,容易出错,不知道有没有什么办法直接限制正个进程的下载速度,就像ADSL只由200K的速度,你怎么下就是200K的速度。。。
...全文
909 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
viki117 2009-10-23
  • 打赏
  • 举报
回复
我发现我问的问题,极少得到满意的答复,可能我问的问题比较偏僻吧。。。
viki117 2009-10-22
  • 打赏
  • 举报
回复
UP
viki117 2009-10-21
  • 打赏
  • 举报
回复
讯类,快车都能作,难道C#就做不到?
zzxap 2009-10-20
  • 打赏
  • 举报
回复
事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量。只是要在C#中实现还是比较复杂。

先看看怎么定义该 API
[DllImport("IpHlpApi.dll")]
extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);

http://www.cnblogs.com/hades/articles/1037338.html
zzxap 2009-10-20
  • 打赏
  • 举报
回复
这个用c++好控制
walkghost 2009-10-20
  • 打赏
  • 举报
回复
帮顶,迅雷等下载软件都有限速,他们是咋做的啊?
优效soft 2009-10-20
  • 打赏
  • 举报
回复
顶下
viki117 2009-10-20
  • 打赏
  • 举报
回复
UP中。。。。
hinroe 2009-10-20
  • 打赏
  • 举报
回复
我也帮顶!
viki117 2009-10-20
  • 打赏
  • 举报
回复
可是获取了,应该怎么控制呢?关键是要控制到某一个进程上去,还不能影响整个系统。。。。
viki117 2009-10-20
  • 打赏
  • 举报
回复
看看,唉~~看来还是做C++算了,这个C#是雷声大,雨点小阿
viki117 2009-10-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yuanhuiqiao 的回复:]
QoS,听同事他们做过一个类似的东西,好像不难
[/Quote]
问下他们是怎么实现的,控制线程实在是个笨的要命的方法,我发现大量的增加线程锁,出现错误的机会越来越高了。。
Jave.Lin 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 guoyichao 的回复:]
Receive的时候size指定小就收的少,由于下载一般都是面向连接的,你收东西的时候故意每次少收一点,对面想多发一点也没办法发出来,这样就控制了下载的速度。
[/Quote]

这种方法也许可以,但是只是限速度,没有想电信那些还可以直接限带宽。
yuanhuiqiao 2009-10-16
  • 打赏
  • 举报
回复
QoS,听同事他们做过一个类似的东西,好像不难
viki117 2009-10-16
  • 打赏
  • 举报
回复
我也知道,可是是多线程,这样就要计算好速度,然后分配到各个线程,最后决定每个线程的速度,线程下载万后又要改变一次所有线程的速度分配,增加线程的时候也要做一次速度计算并分配。。。
guoyichao 2009-10-16
  • 打赏
  • 举报
回复
Receive的时候size指定小就收的少,由于下载一般都是面向连接的,你收东西的时候故意每次少收一点,对面想多发一点也没办法发出来,这样就控制了下载的速度。
viki117 2009-10-16
  • 打赏
  • 举报
回复
最主要的是线程数不确定,不能单个线程去管理,而且线程限速也不符合实际,下的快的就应该快点,但是整个速度要控制住
viki117 2009-10-16
  • 打赏
  • 举报
回复
单机的要,软件自己限制自己的速度。。。我知道有不少单机的进程速度限制软件,但是我现在是要做到我的软件中去,我不能直接去调把
dkling866 2009-10-16
  • 打赏
  • 举报
回复
学习
guyehanxinlei 2009-10-16
  • 打赏
  • 举报
回复
关注一下
加载更多回复(5)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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