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

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

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

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

谢谢。

【问题讨论】:

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

标签: c# .net http .net-core dotnet-httpclient


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多