我期待獲得.net中的活動IP地址,在這種情況下是與以太網適配器關聯的地址。.NET獲得活動以太網IP地址
現在我知道我可以用得到當前分配給本機的IP地址列表:
IPHostEntry entry = Dns.GetHostEntry(Dns.GetHostName());
而且我知道我可以用得到的大量信息對我的不同的網絡接口:
NetworkInterface[] networks = NetworkInterface.GetAllNetworkInterfaces();
我可以使用NetworkInterfaceType枚舉來確定哪些接口是我的以太網接口,以及接口是否爲「Up」,但我似乎無法找到將此NetworkInterface與相應的IPAddress綁定的方式。從NetworkInterface類中,我只能看到如何獲取Anycast地址或網關地址等內容,但沒有什麼能夠幫助我縮小哪些是以太網IP。
有沒有人知道一種方法來做到這一點,無論是簡單還是複雜?
編輯: 例如命令行上的netstat或tracert可以提供所有活動的網絡連接。對我來說這似乎很奇怪,.net不會有類似的東西,我認爲解析命令行結果似乎完全不合理。 像GetBestInterface()這樣的東西似乎很有用,但它只會返回到可以訪問給定其他IP的IP。再次,不是很多才多藝。
如果沒有其他方式可以使用C#來獲得活動的IP地址,那麼就這樣吧,我將使用命令行,但它看起來好像是一種流行的編程語言應該能夠做到的。事實上,如果任何人有一個C++或C的解決方案,我可以連接到我的C#應用程序,也可以。
如果有多個活動的IP地址會怎麼樣?或者多個以太網適配器? –
如果有1個以上的有源以太網適配器,那麼我可以很好的完成所有這些。 – user912447
即使只是一個可能含糊不清的東西的鏈接也會很棒。 – user912447