獲取IP地址的DNS主機信息(以發生成重載),重載方法為為Dns.GetHostByAddress (IPAddress)和Dns.GetHostByAddress (String),下面分別進行介紹。
l Dns.GetHostByAddress (IPAddress)
根據指定的IPAddress創建IPHostEntry實例。
語法:
public static IPHostEntry GetHostByAddress
(
IPAddress address
)
參數:
address:一個IPAddress。
返回值:一個IPHostEntry。
l Dns.GetHostByAddress (String)
根據IP地址創建IPHostEntry實例。
語法:
public static IPHostEntry GetHostByAddress
(
string address
)
參數:
address:IP地址。
返回值:一個IPHostEntry實例。
(3)GetHostName方法
獲取本地計算機的主機名。
語法:
public static string GetHostName ()
返回值:包含本地計算機的DNS主機名的字符串。
(4)Resolve方法
將DNS主機名或IP地址解析為IPHostEntry實例。
語法:
public static IPHostEntry Resolve
(
string hostName
)
參數:
hostName:DNS樣式的主機名或IP地址。
返回值:一個IPHostEntry實例,包含有關hostName中指定的主機的地址信息。
下面列舉幾種常用的DNS類的使用方法。
獲得主機名的實現代碼如下:
private void button1_Click(object sender, EventArgs e)
{
String hostName = Dns.GetHostName();
IPHostEntry ipH = new IPHostEntry();
ipH = Dns.Resolve(hostName);
this.textBox1.Text = hostName;
}
根據IP或計算機名獲得計算機名的實現代碼如下:
private void button2_Click(object sender, EventArgs e)
{
IPHostEntry hostInfo = Dns.Resolve(this.textBox1.Text.Trim().ToString());
string strHost = hostInfo.HostName.ToString();
MessageBox.Show(strHost);
}
獲得IP列表的實現代碼如下:
private void button4_Click(object sender, EventArgs e)
{
IPHostEntry IPH = Dns.GetHostByName(this.textBox1.Text);
IPAddress[] myIp = IPH.AddressList;
foreach (IPAddress ips in myIp)
MessageBox.Show(ips.ToString());
}