确定可用带宽

时间:2020-03-06 14:52:50  来源:igfitidea点击:

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

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

我希望能够运行某种服务,以在可用带宽降至特定阈值以下时向用户发出警告。

有什么想法吗?

解决方案

下载已知大小的文件并确定要花多长时间的显而易见的事情。这样做的缺点是我们需要浪费很多带宽才能做到这一点。另外,如果我们想在吞吐量下降到阈值以下时发出警报,则必须或者多或者少连续地运行测试。

恕我直言,鉴于某些情况发生,我们对此无能为力,因此我在某些地方的表现会很差。

对不起。

如果要传输数据,只需对其进行测量。如果要使其独立于服务器速度,也可以从某处下载参考对象。

如果没有实际使用带宽,就没有简单的方法来测量带宽,这当然会使应用程序饿死。需要牢记以下几点:

1)是带宽问题还是延迟问题?我们可以以比带宽少干扰的方式测量延迟。

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

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

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

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

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

看看它们两个,看看它们是否对我们有用。

罗伊