如许获取主机的IP地址是可行的吗????????

3个月前 (11-25 23:31)阅读3回复0
wsygfsj
wsygfsj
  • 管理员
  • 注册排名5
  • 经验值130995
  • 级别管理员
  • 主题26199
  • 回复0
楼主

  那篇文章,我们不预备大规模的讨论手艺问题。只是向各人介绍一下我们将若何获得一台主机的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地址。

小鬼就该做小鬼该做的事。饿就说饿,痛就说痛,想哭就哭,想生气就生气,想做什么就做什么,用不着顾忌那么多。闯祸、惹事、浪费钱、无事惹事那些都是我们做小鬼的义务,用不着想太多!

0
回帖

如许获取主机的IP地址是可行的吗???????? 期待您的回复!

取消