2010-03-05 116 views
4

使用C#什麼是計算網絡帶寬速度最可靠的方法?使用C#什麼是計算網絡帶寬速度最可靠的方法?

我發現了一些使用NetworkInterface,性能計數器,原生Win32代碼等的例子,但它們都提供了不同的結果,而且沒有一個與其他現有工具顯示的結果相匹配。

有關計算C#中網絡帶寬速度的最可靠方法的任何建議?

編輯:爲了澄清我想知道特定接口目前消耗多少帶寬。

+0

隨時間推移或快照負載? (速度與速度。)無論哪種方式,你可能需要看看WMI。 – 2010-03-05 16:27:11

+0

速度/ s。就像你會在下載文件對話框或Windows任務管理器中看到的一樣。 – 2010-03-05 16:31:26

+0

你看到的結果有多不同?你能描述你如何做測試嗎?我可以想到幾種情況會導致不同的結果,但都是因爲糟糕的測試方法。 – overslacked 2010-03-05 18:31:51

回答

1

使用C#什麼是計算網絡帶寬速度最可靠的方法?

最現實的方法是定期發送/下載一個小型測試文件到/從一個明知的非常快的服務器,並注意所花費的時間。

+0

爲了澄清我正在尋找知道特定接口當前正在消耗多少帶寬。 – 2010-03-05 16:23:17

2

Same Question

嘗試使用System.Net.NetworkInformation類。尤其是,System.Net.NetworkInformation.IPv4InterfaceStatistics應該包含一些信息,包括您要查找的內容。

具體而言,您可以檢查 財產與BytesReceived,等待一個給定的 間隔,然後再次檢查 財產與BytesReceived拿到多少字節/秒的 連接正在處理一個 想法。要獲得 的好號碼,儘管如此,您應該嘗試從 下載來自給定源的大塊信息 ,然後檢查; 這樣你應該是「杏」的 連接,當你做了測試,這 應該給予更多的幫助數

+0

謝謝,這是我目前使用的方法之一。我擔心的是,與其他方法相比,我使用它會得到不同的值,所以我不確定哪些值得信任。 – 2010-03-05 16:32:17

1

這樣做的另一種方式 - 儘管它可能會被欺騙這樣 - 創建一個隱藏使用'netstat -e X'進行處理,其中X是一個時間間隔,例如'netstat -e 5',輸出流被重定向並監視標題'Received'和'Sent'下的數字......你認爲如何?

希望這會有所幫助, 最好的問候, 湯姆。

+0

我不認爲這是作弊,它與NebuSoft提供的答案基本相同。 – overslacked 2010-03-05 18:29:06

相關問題