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

时间:2011-01-31 08:19:18

标签: c# http webclient bandwidth networkstream

我想知道使用NetworkStream.Read时的当前下载进度。它甚至可能吗?我必须使用webclient吗?

我不想使用webclient,因为它似乎(我不是100%肯定)

  1. 我必须创建webserver
  2. 我必须创建文件(而不是内存流数据)。
  3. 由于http协议限制,我无法正确测量千兆网络的传输速度。
  4. 或者,我应该使用webclient?

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

1 个答案:

答案 0 :(得分:1)

有什么问题?

  1. 获取当前时间
  2. 调用'stream.Read(buffer,0,buffer.Length);`在一个循环中,直到你得到足够的字节来计算合适的速率
  3. 结束时间
  4. 将收到的字节长度除以下载它们的秒数。
  5. 结果= bytes / s