2010-01-31 105 views
6

我寫在C#程序,需要監視當前使用的網絡帶寬量,以便它可以做一個後臺上傳時,互聯網使用率較低。我如何自動確定哪一個網絡適配器是連接到互聯網的那個?如何確定哪些網絡適配器連接到互聯網

+0

檢查這個問題http://stackoverflow.com/questions/515436/how-to-get-internet-ip/515449 – 2010-01-31 19:32:59

+0

多個適配器可以連接到互聯網。 (例如,同一臺機器上的有線和無線連接。) – Joe 2010-01-31 19:47:14

回答

4

我結束了,當我在讀this page下面的鏈接,MSDN,我發現了GetBestInterface功能。我能夠使用它找到連接到互聯網的適配器

3

您可以使用WMI查詢所有適配器並查看哪個適配器已連接。
This article告訴你如何在VB.Net中完成它(非常容易轉移到C#)。

3

here對於如何監控使用,VB.NET帶寬上過類似的問題,但理念是一樣的! Here是另一個問題,是檢查互聯網連接的最快方法。

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

3

檢查路由表並查找具有默認路由的接口(到0.0.0.0的路由) - 這是您的接口連接到更廣泛的世界(如果有的話)。

0

有多種方式的適配器可能會顯示爲「連接到Internet」時,它不是。相反,它可能「不能連接到互聯網」並仍然連接。

就像生活中許多事情,「布丁的證明是在吃」如果你想知道,如果你連接,你需要試着跟一些東西。

我喜歡time.gov,因爲它返回了一小塊包含當前時間的XML,因此您可以確保實際上連接到網絡,而不是獲取某種緩存數據或重定向到強制門戶。

只是通過適配器循環,看看哪些實際上連接。

相關問題