我一直在网上搜索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;
}
Run Code Online (Sandbox Code Playgroud)
他们试图让你停止假设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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5413 次 |
| 最近记录: |