计算机名称和IP地址对于运行TCP/IP协议的网络主机来说,是两个最重要的标识。所以获取计算机的名称和IP地址,也就成为了网络编程的基础。本节就来介绍如何使用C#获取计算机名称和IP地址。一、获取本地计算机名称要使用C#获取本地计算机名称,一般有两种方法:第一,BIOS来获取本地计算机名称;第二,BIOS是一种非常古老的网络协议,BIOS是建立在BIOS基础之上,并对之进行了扩展,使之能够支持网络上的I/O调用。BIOS来获取本地计算机名称要使用到System命名空间中的Environment类。Environment类主要提供有关当前环境和平台的信息以及操作它们的方法。BIOS获取本地计算机名称使用的是Environment类的MachineName属性。Environment类还提供了一些的属性用以获取和计算机相关的其他重要信息,常用属性如表1所示:通过DNS来获取本地计算机名称是使用命名空间“”中的“Dns”类。“Dns”类是一个静态类,它提供简单的域名解析功能。域名系统(DNS)检索关于特定主机的信息。获取网络计算机名称和DNS解析,都要使用到Dns类。通过DNS获取本地计算机名称使用的是Dns类中的“GetHostName”。在Dns类中还提供了一些其他的方法,用以实现简单的域名解析功能,具体如表2所示:下面就通过一个的实例来具体介绍这二种获取本地计算机名称方法。,依次选择菜单“文件”、“新建”、“项目”后,在弹出的“新建项目”对话框中,将“项目类型”设置为“VisualC#项目”,将“模板”设置为“Windows应用程序”,在“名称”文本框中输入“获取本地计算机名称”,在“位置”文本框中输入“E:\项目”,然后单击“确定”按钮。这样“获取本地计算机名称”的项目文件就创建完成了。把当前窗口切换到“(设计)”窗口,如图1设计窗体,其他的都采用默认值:BIOS获取并显示本地计算机名称,所以我们这样填写button1的Click事件:privatevoidbutton1_Click(objectsender,){stringhostName=;=hostName;}单击button2将通过DNS获取并显示本地计算机名称,所以我们这样填写button2的Click事件:privatevoidbutton2_Click(objectsender,){stringhostName=.();=hostName;}完成后全部保存,这样“获取本地计算机名称”项目的全部工作就完成了。按下组合键“Ctrl+F5”开始运行程序,分别单击程序中两个“获取”按钮,就可以实现通过二种不同方式获取本地计算机名称,“获取本地计算机名称”项目的运行界面如图2所示:二、获取网络计算机名称要获取网络计算机名称,前提条件是要知道网络计算机的IP地址,然后通过IP地址查询出网络计算机的名称。获取网络中计算机名称要比获取本地计算机名称要复杂许多。这是因为根据提供的IP地址查询网络计算机名称要使用的Dns类GetHostByAddress方法,并不能直接获取网络计算机名称,GetHostByAddress方法把查询的地址信息存放到创建的IPHostEntry实例中,然后通过IPHostEntry实例的HostName属性才能够得到指定的IP地址对应的网络主机名称。IPHostEntry类也是编写网络应用程序时常用的类之一,在后面介绍DNS解析时也要用到,表3是IPHostEntry类中一些主要的属性:在编写获取网络主机名程序的时候,有两点需要特别注意:第一,当网络主机不在线时,用上述的查询方法将会产生异常,所以获取网络主机名称之前,要判断它是否在线。第二,判断输入的IP地址是否合法,如果输入的IP地址并不合法,此时程序获取网络计算机名称,同样也会产生异常。下面就是根据上述思路,用C#获取网络主机名称的具体实现步骤。,依次选择“文件”、“新建”、“项目”菜单后,在弹出“新建项目”对话框中将“项目类型”设置为“VisualC#项目”,将“模板”设置为“Windows应用程序”,在“名称”文本框中输入“获取网络主机名”,在“位置”的文本框中输入“E:\项目”,然后单击“确定”按钮。这样,“获取网络主机名”的项目文件就产生了。把当前窗口切换到“(设计)”窗口,如图3设计窗体,其他的都采用默认值:再把当前窗口切换到“”,,:;.Socket
ip域名互换 来自淘豆网m.daumloan.com转载请标明出处.