我在谈论下载管理器中的速度限制.例如,在Internet Download Manager中有一个选项:
解决方法
在Windows中可以通过以下几种方式完成此操作:
应用程序本身可以通过监视它自己的比特率并根据需要在套接字上的recv()或read()调用之间休眠来隐式限制下载速度.
我怀疑Internet Download Manager可能将自己安装为本地HTTP代理,并配置浏览器以通过它来路由所有请求.然后使用自己的网络代码,使用上面介绍的简单技术以适当的速率传输下载.看看是否为您的浏览器配置了一个http代理 – 这应该是一个很好的提示,如果这是它正在做的.
另一种技术是使用Winsock分层服务提供程序或筛选器驱动程序.尝试从命令行键入netsh winsock show catalog(已经安装了很多系统目录).
Winsock本身有一个旧的QOS API,可以在特定的插槽上进行“流量整形”. (如果内存服务,它甚至有一些系统策略支持,可以在应用程序之外的外部配置).