问题一: "TidHttpServer实现IIS的限制下载速度"
TIdHttpServer是用于实现一个独立的HTTP Server吧, 既然独立, 又何谈"IIS的限制下载"
呢? ----对不起, 我从来不用Indy的控件, 所以, 也许它是实现Filter的, 也未为可知. ^0^
问题二:
如果是独立的HTTP Server, 那么, 所有的HTTP协议通道都是由你控制的, 这样, 向客户端
通告"能/不能"下载就是很容易做到的了. 但问题是, 如何通告客户端什么时候再次下载?
其实很容易了, 发一个"refresh"标头就可以了.
这个只是一个想法, 我并没有试过. 目前, 还没有时间来测试它. 哈哈.
问题之三:
由于客户端对服务器端的请求是未知的, 我们除了通过延时控制它的下载速度之外, 还可通
过数据块的大小来控制下载速度. 也就是说, 如果客户端的请求是一个文件, 我们发送的返
回标头可以是Context-Length=1M, 而返Body区却只有0字节, 这样, 客户将不得不重复请求
来得到更多的数据块. 这样也可以使流量得到控制.
问题之四:
这是你需要考虑的, 如何对同一用户的多个连接进行识别, 单独的限速是没有多大意思的,
你必须考虑连接数限制. ^-^
其它
-----------
事实上, 最近我们公司也有计划开发一个类似的产品, 当然不是用IdHttpServer, 而是用
ISAPI Filter载入到IIS内部来控制IIS的连接和流量. 上面的其实也是我对这个产品的一
些尚不成熟, 未经测试的想法.
供参考先. ^-^