我试图通过向Dns.GetHostAddresses()成员函数提供HostName来获取位于同一域中的不同计算机的IP地址,但它返回所有计算机的69.172.200.109 IP地址。我没有知道确切的解决方案。对此的解决方案非常感谢。
IPAddress [] ips; ips = Dns.GetHostAddresses(hostName); foreach(ips中的IPAddress ip) { if(ip.AddressFamily == AddressFamily.InterNetwork) { ipAddress = ip.ToString(); 打破; } }
答案 0 :(得分:-1)
如果中间有另一台服务器,则会遇到您遇到的情况,它根据请求中收到的主机名将请求路由到适当的服务器。您正在服务的地址可能是该中间服务器的地址。有关详细信息,请参阅Virtual web hosting。
其次,如果它是您要查询的本地DNS,请确保仔细检查那里配置的地址。
答案 1 :(得分:-1)
您可以尝试以下代码来获取所有IP地址
String strHostName = Dns.GetHostName();
// Find host by name
IPHostEntry iphostentry = Dns.GetHostByName(strHostName);
// Enumerate IP addresses
foreach(IPAddress ipaddress in iphostentry.AddressList)
{
....
}