1

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

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

有没有更简单的方法来获取当前的 Internet 带宽?

PS:IIS 平滑流式传输是不可能的。

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

4

1 回答 1

0

通过下面给定的代码获取下载速度。

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 Defined\n");
}

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

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

于 2013-08-28T13:21:12.797 回答