在C#:獲取IP地址
IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName());
for (int i = 0; i < IPHost.AddressList.Length; i++)
{
textBox1.AppendText("My IP address is: "
+ IPHost.AddressList[i].ToString() + "\r\n");
}
在這段代碼中,IPHostEntry
變量包含計算機的所有IP地址。 現在,據我所知,Windows vista以十六進制方式返回一些IP地址,其中一些以十進制表示法等等。
的問題是,這是所期望的十進制記數法中的IPHostEntry
變量改變其位置:它最初是在最後的位置存在的,因此可以與代碼訪問:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 1].ToString();
但是改變後計算機的IP地址,它現在出現在2日最後一個位置,因此需要使用代碼訪問:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 2].ToString();
是否有十進制獲取IP地址不論其位置的任何代碼在IPHostEntry
變量?
恐怕你會一直困惑,除非你自己意識到是什麼讓你尋找的一個IP地址更適合你的目的而不是所有其他的IP地址。依靠神奇的,無證的訂單來回報價值是不好的做法。 – 2009-06-22 20:32:27