在不保存远程文件的情况下测量网速

本文关键字:情况下 测量 文件 保存 程文件 | 更新日期: 2023-09-27 18:22:21

我正在写一个网速测量器。我想在不将远程文件保存到文件或内存的情况下测量网速-我需要获取数据并忘记它,所以WebClient和StreamReader似乎不适合它(也许我应该继承它们并覆盖一些私有方法)。如何制作?

在不保存远程文件的情况下测量网速

我认为在编写这样的系统时,还应该准确地选择要下载的文件大小。不管怎样,如果"非常大"或"无限大"的大小是个问题,你可以下载文件的一部分。您可以使用HttpWebRequest.AddRangehttp://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.addrange.aspx

您可以使用System.Net.WebRequest来测量吞吐量,在读取数据时使用异步调用来捕获数据。

WebRequest.BeginGetResponse的MSDN示例代码显示了一种方法,用于在接收数据时使用异步方法从远程文件读取数据。该示例将响应数据存储在StringBuilder中,但您可以跳过它,因为您实际上对数据本身并不感兴趣。

我在他们的例子中添加了一些计时代码,并针对几次大文件下载进行了测试,似乎可以完成你需要的工作。