【问题标题】:How can I limit download/upload speed within my application?如何在我的应用程序中限制下载/上传速度?
【发布时间】:2017-07-23 22:32:14
【问题描述】:

我想限制在应用程序中执行的所有下载和上传的带宽。

原因是应用程序运行的代码不是我写的。我不希望某些恶意代码过度使用网络资源。

【问题讨论】:

  • 什么类型的应用程序?您已经指出它是 C#,但这是一个 Web 应用程序、WPF、WinForms 吗?
  • 当邮件代码首先取消限制时会发生什么???
  • 也许我可以限制其他进程的带宽,所以我的进程不能改变它?

标签: c#


【解决方案1】:

这是关于 SO 的链接,其中包含类似问题:
How can I rate limit an upload using TcpClient?

简而言之,您需要检测连接的套接字的带宽,然后休眠过快的连接。

这是一个使用节流技术的 CodeProject 源的链接:
http://www.codeproject.com/KB/IP/Bandwidth_throttling.aspx

【讨论】:

  • 我无法控制流。正如我所说,下载/上传是由不是我编写的代码完成的。我只是执行一个dll函数
  • @Erik Sapir:你能控制什么?甚至流也需要接收数据。您可以以节流的增量将数据传递给流,这并非不可想象。
  • 我无法控制执行网络操作的代码。我只是在 dll 中调用一个函数。
  • @Erik Sapir:这个函数是什么样的?是否需要流式阅读器、字符串、xml?
  • 我不知道它会是什么样子。 dll 中的函数不是我的——其他程序员可以加载他们自己的 dll 文件并从我的应用程序中调用它们。他们的代码也可以执行网络操作,我想限制一下
猜你喜欢
  • 1970-01-01
  • 2015-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-04
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多