我想在本地機器上獲取IP地址:獲取和檢查本地計算機的IP地址
private string GetIP()
{
string strHostName = "";
strHostName = System.Net.Dns.GetHostName();
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
foreach (IPAddress ipaddr in addr)
{
if (ipaddr.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
return ipaddr.ToString();
}
return "IP error";
}
但是我無法找到一個方法來確定哪些接口是一個我需要的。例如:
我很幸運的是,我需要的是第二個在列表中。但如果它在後面,我會得到一個錯誤的界面IP。如何檢查我是否獲得IP用於本地連接(或通常,負責連接的接口)。
你怎麼能指望你程序知道它應該查看哪個NIC? – 2012-01-31 13:42:55
這就是我不知道如何實現。現在只需要列表中的第一個InterNetwork。我想以某種方式驗證它是本地連接。 – and 2012-01-31 13:51:33
什麼是所有在列表中的其他IP的,如果他們不屬於本地連接? – 2012-01-31 13:52:38