使用 httpclient 限制下载的带宽使用

Posted

技术标签:

【中文标题】使用 httpclient 限制下载的带宽使用【英文标题】:Limit the use of bandwith for the download using httpclient 【发布时间】:2021-09-26 15:30:42 【问题描述】:

我有一个关于文件下载的问题。我想了解大文件下载在 .Net HttpClient 中的工作原理。

假设我的文件大小为 1GB。当我发送 HTTP GET 请求以从 HttpClient 下载文件时,使用 HttpClient.GetStreamAsync 方法,它是在我读取时检索响应正文(逐字节)还是检索完整响应和客户端上的缓冲区?

我问这个是因为我想了解是否可以限制使用带宽进行客户端下载。

谢谢。

【问题讨论】:

一次从 Stream 中读取 N 个字节。具体有多少取决于使用流的读者。 这是您的回答者吗? ***.com/questions/58326466/… 但问题仍然是数据包是否在何时以及是否读取流时被检索(因此,如果我限制读取,我使用的网络带宽也会受到限制),或者数据包独立到达网卡并在某处缓冲。 【参考方案1】:

不,先生,我认为这不可能,但您可以使用HttpClient.Timeout

【讨论】:

【参考方案2】:

如果您可以在下载开始之前获得正在下载的文件的大小。如果客户端可以下载此文件,您可以根据您的带宽限制添加条件。

【讨论】:

以上是关于使用 httpclient 限制下载的带宽使用的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Vuze 仅限制 1 个种子的下载带宽

谷歌文档 api iframe 带宽限制

电信5M光纤,路由器Netcore NR235,10-15人使用,如何设置Qos主机带宽限制的上传速度和下载速度?

如何为 FTP/HTTP 实施客户端带宽限制?

下载速度慢怎么解决?

使用Folx智能速控功能,确保带宽资源的合理分配