Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:22:32 C#教程:DNS类使用实例
DNS类IP地址是一种普遍应用于因特网、允许不同主机能够相互找到对方的寻址协议。IP地址由4个十进制的数字号码所组成,而每一个号码的值介于0~255之间,它虽然解决了网络上计算机的识别问题,但是IP地址不易记忆,因此域名系统(DNS)被开发出来,它专门用于将IP地址转换成有意义的文字,以方便识别记忆。.Net FrameWork类库内置了相关类用于处理IP地址的问题,这些类在System.Net命名空间下。这里主要对DNS类进行详细介绍。DNS类常用方法及说明如表1所示。表1 DNS类常用方法及说明下面对比较重要的方法进行详细介绍。(1)GetHostAddresses方法。返回指定主机的Internet协议(IP)地址。语法:public static IPAddress[] GetHostAddresses (string hostNameOrAddress)参数说明如下。hostNameOrAddress:要解析的主机名或IP地址。返回值:一个IPAddress类型的数组,该类型保存由hostNameOrAddress参数指定的主机的IP地址。(2)GetHostByAddress方法。用于获取IP地址的DNS主机信息(以发生成重载),重载方法为Dns.GetHostByAddress (IPAddress)和Dns.GetHostByAddress (String),下面分别进行介绍。Dns.GetHostByAddress (IPAddress)根据指定的IPAddress创建IPHostEntry实例。语法:public static IPHostEntry GetHostByAddress(IPAddress address)参数说明如下。address:一个IPAddress。返回值:一个IPHostEntry。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());}
赞