确定可用带宽

本文关键字:带宽 | 更新日期: 2023-09-27 17:47:21

确定 .NET 中可用带宽的最佳方法是什么?

我们有用户从各种远程访问点(有线和无线)访问业务应用程序,有时带宽可能非常低,具体取决于用户所在的位置。 当应用程序似乎运行缓慢时,问题可能是由于带宽低而不是其他问题。

我希望能够运行某种服务,每当可用带宽低于特定阈值时都会警告用户。

有什么想法吗?

确定可用带宽

除了下载已知大小的文件和时间需要多长时间之外。 这样做的缺点是您需要浪费大量带宽才能做到这一点。 此外,如果要在吞吐量低于阈值时发出警报,则必须或多或少地连续运行测试。

恕我直言,我会在某些地方忍受糟糕的表现,因为如果它确实发生,你无能为力。

不好意思。

没有简单的方法可以在不实际使用带宽的情况下测量带宽 - 这当然会使应用程序陷入饥饿。不过要记住几点:

1)问题实际上是带宽还是延迟?您可以以比带宽侵入性更小的方式测量延迟。

2) 应用程序是否都从同一台服务器(或至少在同一台网络)上运行?您可能会发现用户与网络的某些区域有良好的连接,但与其他区域没有。(最后一英里很可能是限制因素,但情况并非总是如此。

如果您要传输数据,只需测量即可。如果要使其独立于服务器的速度,也可以从某个位置下载引用对象。

在不知道您的连接的确切性质或其使用方式的情况下,我知道有两个选项。

MultinetGetConnectionPerformance (http://msdn.microsoft.com/en-us/library/aa385342(VS.85).aspx)

系统事件通知服务 (http://msdn.microsoft.com/en-us/library/aa377538(VS.85).aspx)

两者都不是直接的.NET类,但可以很容易地在.NET中实现。

看看它们两个,看看它们是否适合你。

罗伊