NetworkStream.Read 下载进度。类似于 WebClient.DownloadProgressChanged

发布于 2024-10-15 02:17:02 字数 247 浏览 7 评论 0原文

当我使用 NetworkStream.Read 时,我想知道当前的下载进度。有可能吗?我必须使用网络客户端吗?

我不想使用网络客户端,因为它似乎(我不是100%确定)

  1. 我必须创建网络服务器
  2. 我必须创建文件(而不是内存流数据)。
  3. 由于http协议的限制,我无法正确测量千兆位网络的传输速度。

或者,我应该使用网络客户端?

仅供参考,我正在构建带宽估算工具。

I want to know current download progress when im using NetworkStream.Read. Is it even possible? Do i have to use webclient?

I dont want to use webclient because it seems(im not 100% sure)

  1. i have to create webserver
  2. i have to create file (instead of memory stream data).
  3. i cannot properly measure transfer speed of gigabit networks, due to http protocol limitation.

or, i should use webclient?

FYI, Im building bandwidth estimation tools.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风筝有风,海豚有海 2024-10-22 02:17:02

有什么问题吗?

  1. 获取当前时间
  2. 循环调用“stream.Read(buffer, 0, buffer.Length);”,直到获得足够的字节来计算适当的速率
  3. 结束时间
  4. 将接收到的字节长度除以下载它们所需的秒数。
  5. 结果 = 字节/秒

What's the problem?

  1. Get the current time
  2. Invoke ´stream.Read(buffer, 0, buffer.Length);` in a loop until you get enough bytes to calculate a proper rate
  3. Take end time
  4. Divide the received byte length with number of seconds it took download them.
  5. Result = bytes/s
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文