System.Net.IPHostEntry IpEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); for (int i = 0; i != IpEntry.AddressList.Length; i++) { if (!IpEntry.AddressList[i].IsIPv6LinkLocal) { MessageBox.Show(IpEntry.AddressList[i].ToString()); } }
for (int i = 0; i != IpEntry.AddressList.Length; i++)
{
if (!IpEntry.AddressList[i].IsIPv6LinkLocal)
{
MessageBox.Show(IpEntry.AddressList[i].ToString());
}
}
string myip = IpEntry.AddressList[0].ToString();//这样,如果没有安装IPV6协议,可以取得IP地址. 但是如果安装了IPV6,就取得的是IPV6的IP地址.string myip = IpEntry.AddressList[1].ToString();
//这样就在IPV6的情况下取得IPV4的IP地址.
IPAddress[] ips = Dns.GetHostAddresses("");可以得到IP列表
一般来说,ips[0]是IPV6格式,ips[1]是IPv4格式
也说是说,根据主机名获取IP集合,第一项是IPV6,第二项是IPV4.
三楼的也不行、
都只能获取IPv6格式的
//GetHostByName 获得的是IPv4的地址,若用GetHostEntry代替则获得所有地址 IPHostEntry IPH = Dns.GetHostByName(this.textBox1.Text);
IPAddress[] MyIP = IPH.AddressList;
string ipv4=MyIP[0].ToString();