我一直在网上搜索Dns gethostbyname更改为gethostentry,并相应地修改代码,但为什么仍然不显示正常的ipv4地址?下面是我的代码:
string GetHostIP()
{
String myHostName = System.Net.Dns.GetHostName();
// Find host by name
System.Net.IPHostEntry myiphost = System.Net.Dns.GetHostEntry(myHostName);
String ipstring = "";
foreach(System.Net.IPAddress myipadd in myiphost.AddressList)
{
ipstring = myipadd.ToString();
return ipstring;
}
return ipstring;
}发布于 2011-09-24 03:09:57
他们试图让您停止假设IP地址是点分十进制的IPv4地址。他们只是不能让IPv6离开地面,这是必要的。几个月前就完全没有空闲地址了。
你可以得到IPv4地址,你必须显式地把它找出来:
foreach (System.Net.IPAddress myipadd in myiphost.AddressList) {
if (myipadd.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) {
return myipadd.ToString();
}
}
throw new WhatTheHeckException();https://stackoverflow.com/questions/7532842
复制相似问题