如何获取主机的IP址址
点击次数:29 次 发布日期:2008-11-22 11:37:51 作者:源代码网
|
源代码网推荐
这篇文章,我们不准备大规模的讨论技术问题。只是向大家介绍一下我们将如何获得一台主机的IP地址。在Win32 API中我们可以使用NetWork API完成这项工作,但是在.Net平台下我们应当如何做呢?其实操作方法与API差不多,只是大家要理解一下Namespace与Class。本站这方面的文章很多,关于Namespace与Class的内容就不介绍了。
.Net平台存在System.Net命名空间,其中的DNS类,提供了一些方法可以获取服务器的服务名或者是IP地址。DNS是一个静态类,所以它能够直接创建类实例。闲话少说,我们来看具体的程序:
namespace NKUtilities { using System; using System.Net;
public class DNSUtility { public static int Main (string [] args) {
String strHostName = new String (""); if (args.Length == 0) { // 获得本地的IP地址 //首先获了本地机的主机名 strHostName = DNS.GetHostName (); Console.WriteLine ("Local Machine"s Host Name: " + strHostName); } else { strHostName = args[0]; }
// 接着使用主机名,获取IP地址列表 // 一台主机可能不只一个IP哦,不要被某些人误导了,呵呵,想想以前的163与169就知道了 IPHostEntry ipEntry = DNS.GetHostByName (strHostName); IPAddress [] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++) { Console.WriteLine ("IP Address {0}: {1} ", i, addr[i].ToString ()); } return 0; } } } 如果你想获得主机名,你可以使用不带参数的GetHostName方法,接着使用这个主机名作为参数交给GetHostByName方法,以获取IPAddress列表。最后是输出列表中的IP地址。
源代码网供稿. |