在Windows应用商店应用程序中获取互联网带宽/速度信息



我需要在我的Windows应用商店(c#)应用程序中获得关于实际网速的相对接近的信息。我需要这个,因为用户可以播放在线托管的视频。始终有两个版本的视频可用(高质量/低质量)。根据用户的网速,应用程序应流式传输相应的视频版本。

我试着下载了一个5MB的虚拟文件,看看完成这项任务所需的时间(了解网速)。但我发现结果过于分散和多变。使用更大的文件可能会得到更好的结果,但这不利于用户体验。

有没有一种更简单的方法可以获得当前的互联网带宽?

附言:IIS平滑流是不可能的。

PPS.:也许这是正确的路径,但我不知道如何在我的情况下使用这个类:StreamSocketInformation.BandwidthStatistics

通过以下给定代码获得下载速度。

var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
var dataPlanStatus = connectionProfile.GetDataPlanStatus();
ulong? outboundBandwidth = dataPlanStatus.OutboundBitsPerSecond;
if (outboundBandwidth.HasValue)
{
    System.Diagnostics.Debug.WriteLine("OutboundBitsPerSecond : " + outboundBandwidth + "n");
}
else
{
    System.Diagnostics.Debug.WriteLine("OutboundBitsPerSecond : Not Definedn");
}

连接到网络和web服务(使用C#/VB/C++和XAML的Windows应用商店应用程序)

连接状态和成本管理(使用C#、VB/C++和XAML的Windows应用商店应用程序)

最新更新