在c#中使用Dns.GetHostEntry获取服务器ip

时间:2010-06-21 23:02:30

标签: dns

我使用.net 3.5 / c#

我需要获取服务器的IP,我使用的是这段代码:

string strHostName = Dns.GetHostName();
IPHostEntry hostInfo = Dns.GetHostEntry(strHostName);
string serverIpParam = hostInfo.AddressList[0].ToString();


return serverIpParam;

但是,在切换到Windows 2008服务器后,我的IP具有字母格式而不是通常的格式(数字)。 MSDN对此没有任何启示。  有什么想法我应该改变以获得服务器IP? 感谢

1 个答案:

答案 0 :(得分:0)

您是否查看了hostInfo.AddressList返回的所有地址?

当我在LinqPad中执行以下操作时:

  string strHostName = System.Net.Dns.GetHostName(); 
  System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostEntry(strHostName); 
  for(int index=0; index < hostInfo.AddressList.Length; index++) {
      Console.WriteLine(hostInfo.AddressList[index]);

  }

IT将返回一个完整的网络接口列表。 在您的情况下,我认为第一个条目指向IPV6地址