使用 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 限制下载的带宽使用的主要内容,如果未能解决你的问题,请参考以下文章