确定可用带宽
本文关键字:带宽 | 更新日期: 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中实现。
看看它们两个,看看它们是否适合你。
罗伊