C# dns.gethostbyname()
我一直在网上搜索有关Dns gethostbyname更改为gethostentry的信息,并相应地修改了代码,但为什么仍然不显示正常的ipv4地址? 这是我的代码:C# dns.gethostbyname(),c#,.net,dns,ipv4,C#,.net,Dns,Ipv4,我一直在网上搜索有关Dns gethostbyname更改为gethostentry的信息,并相应地修改了代码,但为什么仍然不显示正常的ipv4地址? 这是我的代码: string GetHostIP() { String myHostName = System.Net.Dns.GetHostName(); // Find host by name System.Net.IPHostEntry myiphost = Syste
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;
}
他们试图让您停止假设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();
它显示了这样的内容:fe80::5efe:192.168.0.19%10,但我现在解决了它,多亏了Hans Passant。