2013-08-28 38 views
1

我需要在我的Windows应用商店(c#)应用中获得关于实际互联网速度的相对密切的信息。我需要这个,因为用户可以播放在线托管的视频。总有两种版本的视频可用(高质量/低质量)。根据用户的网络速度,应用程序应该播放相应的视频版本。在Windows应用商店应用中获取互联网带宽/速度信息

我试着下载一个5MB的虚拟文件,看看这个任务所需要的时间(以获得互联网速度的想法)。但我发现结果太分散,并且发生了变化。我可能会用更大的文件获得更好的结果,但这不利于用户体验。

有没有更简单的方法来获得当前的互联网带宽?

P.S .: IIS平滑流式传输是不可能的。

PPS:也许这将是按照正确的路径,但我不知道怎么在我的情况下使用这个类:通过如下代码StreamSocketInformation.BandwidthStatistics

+0

什么现已上市可能不会有什么在10秒的时间可用。这就是不受应用程序直接控制的资源(如带宽)的性质。 –

回答

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

Connecting to networks and web services (Windows Store apps using C#/VB/C++ and XAML)

Connection state and cost management (Windows Store apps using C#/VB/C++ and XAML)

+0

thx,但此代码示例用于计量连接afaik。 outboundBandwith没有价值... – Johann

+0

嗯,我有时会得到一个值,有时候是零。获得公平的带宽信息似乎并不容易。 – Johann

相关问题