2013-08-28 73 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

相關問題