我想让以下事情发生:
- 我的应用程序在 Windows 机器上运行(称为应用程序 A)。
- 我可以修改应用程序 A 的源代码来引入带宽限制。
- 我希望能够重用我的带宽限制代码并将其放入我拥有的任何其他应用程序中(换句话说,我想尝试在应用程序域级别限制带宽,以便不必重构现有的带宽限制应用程序)。
- 我想分别限制A的累积上传和下载速度。例如,如果 A 分配给上传的最大流量为 5 Kbps,那么 A 的所有上传流将被限制为 5 Kbps 的累积量。
我的要求:
- 我不能使用内核模式驱动程序。
- 我需要在应用程序域级别添加限制。
我试图对此进行研究,尤其是在 Stack Overflow 上,但找不到任何对我的案例有用的东西:
- 我已经看到了在 Stream 对象周围使用 ThrottledStream 类包装器的示例,该类包装器在使用时会引入节流,但我需要将其置于域级别;采用这种方法是有问题的,因为它需要我在其他应用程序中重构大量现有代码。
- 我已经看到这个问题的答案是关于使用 Windows 过滤平台 API 的。不幸的是,我有一个要求是我绝对不能使用内核模式驱动程序来完成这个,我的理解是 WFP API 需要一个。
有谁知道一种方法来实现我的特定带宽限制要求,以便在应用程序域级别限制应用程序?