一、Dns类介绍:
命名空间:using System.Net;
主要功能:提供简单的域名解析功能
主要方法:
(1) GetHostEntry() :将主机名或 IP 地址解析为 IPHostEntry 实例;
(2) BeginGetHostEntry(String, AsyncCallback, Object):将主机名或 IP 地址异步解析为 IPHostEntry 实例;
功能类似的还有Resolve()方法,但已经过时;
(3) GetHostAddresses:返回指定主机的 Internet 协议 (IP) 地址;
(4) BeginGetHostAddresses:异步返回指定主机的 Internet 协议 (IP) 地址;
(5) EndGetHostAddresses/EndGetHostEntry:结束对 DNS 信息的异步请求;
(6) GetHostName:获取本地计算机的主机名(通过DNS服务器来获取本地信息);
二、IPHostEntry类介绍:
主要功能:为 Internet 主机地址信息提供容器类
IPHostEntry类将一个域名系统 (DNS) 主机名与一组别名和一组匹配的 IP 地址关联;通常和Dns 类一起使用。
重要属性:(1) HostName:获取或设置主机的DNS名称;
(2) AddressList:获取或设置与主机关联的IP地址列表;
三、实现代码:
实现功能:输入要解析的DNS名,获取对应的主机名和IP地址
代码如下:
try { //用DNS将主机名解析为IPHostEntry实例 IPHostEntry ipHost = Dns.GetHostEntry(DNSNameTextBox.Text); foreach (IPAddress ip in ipHost.AddressList) { //获取IP地址的地址簇 string ipAddr = ip.AddressFamily.ToString(); IPListBox.Items.Add("IP Address: "+ipAddr.ToString()); IPListBox.Items.Add(" IP: " + ip.ToString()); } //获取主机名 HostNameTextBox.Text = ipHost.HostName; } catch (Exception exc) { MessageBox.Show("Unable to process the request, beacuse the following problem occurred: "+exc.Message); }