问题一:DNS里两个方法:GetHostEntry,GetHostByAddress,在MSDN里说,后者过时了,用前者代替,可是,当我代替之后,同样的参数,返回的值不同,这是为什么呢?主要是Aliases不同;
问题二:主机的 DNS 名称是指什么啊?和本地主机名有什么关系呢?
谢谢

解决方案 »

  1.   

      public string GetIpByHostName(string hostName)
            {
                hostName = hostName.Trim();
                if (hostName == string.Empty)
                    return string.Empty;
                try
                {
                    System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(hostName);
                    return host.AddressList.GetValue(0).ToString();
                }
                catch (Exception)
                {
                    return string.Empty;
                }
            }
    Dns 类是一个静态类,它从 Internet 域名系统 (DNS) 检索关于特定主机的信息。
      

  2.   

    string strLocalHost=Dns.GetHostName();
                IPHostEntry he = Dns.GetHostEntry(strLocalHost);
                Console.Write("本机主机名称为{0},IP地址为{1}",
                 strLocalHost, he.AddressList[0].ToString());            Console.WriteLine("请输入IP地址,得到其域名:");
                string strIP = Console.ReadLine();
                he = Dns.GetHostEntry(strIP);
                Console.WriteLine("{0},{1}",strIP,he.HostName);
                //根据域名得到IP地址
                Console.Write("请输入域名,得到其IP地址:");
                string strDomain = Console.ReadLine();
                he = Dns.GetHostEntry(strDomain);
                Console.WriteLine("{0},{1}",strDomain,he.AddressList[0].ToString());