用VisualC#获得计算机名称和IP地址

用VisualC#获得计算机名称和IP地址

作者:王天  来自:网络Visual

C#是微软公司推出的下一代程序开发语言,是微软.Net 框架中的的一个重要组成部分,在推出Visual C#的过程中,微软公司还推出了与之相对应的一个软件开发包--.Net FrameWork SDK。此软件开发包里面封装了许多类、对象。Visual C#就是通过调用这些类、对象来实现许多比较强大的功能。

在.Net FrameWork SDK中提供了二个可用于网络编程的名称空间,一个是System.Net,另一个是System..Net.Socket。本文就是利用第一个名称空间中封装的类和对象来读取本地计算机名称和机器中所有的IP地址。


一.概述:

我们知道对于一台计算机来说,他只有一个计算机名称,但是他可以有多个IP地址。例如当计算机通过拨号上网的时候,在验证完用户名和口令以后,就会动态分配一个IP地址,此时计算机就拥有了二个IP地址,一个时自己设定的局域网用的IP地址,另外一个就是拨号上网动态分配的IP地址了。本文就是来探索一下如何读取此二个IP地址和计算机名称。


二.程序设计和运行的环境:

(1)微软公司视窗2000 服务器 版

(2).Net FrameWrok SDK Beta 2版


三.程序设计的主要思路及实现方法:

(1).读取计算机的名称:

在名称空间System.Net中定义了一个类Dns,在此类中定义了一个比较重要的方法 GetHostName ( ),此方法的返回值就是本地计算机名称。在程序设计中首先要导入System.Net名称空间,然后通过调用Dns类中的GetHostName ( )方法读取本地计算机名称,具体实现的主要语句如下:

label1.Text = "主机名称:"  System.Net.Dns.GetHostName ( ) ;

(2).读取计算机的拨号上网临时的IP地址和局域网分配的固定IP地址:

在程序设计中,我们是通过一个自定义的函数--getIPAddress ( )来读取IP地址的。首先看一下如何读取本地固定的IP地址的。在Dns类中还定义了一个方法GetHostByName ( )。此方法的返回值时IPHostEntry 对象,此对象有一个属性是AddressList,此属性是一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息。这当中也就包含了拨号上网得到的临时分配的IP地址和局域网固定的IP地址。具体实现语句如下:
 
    private static string getIPAddress ( )
      {
      System.Net.IPAddress addr;
      // 获得本机局域网IP地址
      addr = new System.Net.IPAddress ( Dns.GetHostByName ( Dns.GetHostName ( ) ) .AddressList [0].Address ) ;
      return addr.ToString ( ) ;
      }

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [C#] 的这些文章也感兴趣:

.NET体系结构(三)
创建不规则窗体和控件(3)
C#下实现动态系统托盘图标
C#中利用MarkupService实现HTML解析为DOMTree
100000阶乘的效率问题
c#委托与事件心得
.NET脏字过滤算法
C#中的版面管理器
用C#实现文件下载器(1)
实用的StringTokenizer类