用Dns.GetHostAddresses的问题
请教我用
addressList = Dns.GetHostAddresses( Dns.GetHostName() );
得到的addressList[0] = {fe80::70d5:be7b:af63:346f%14};
addressList[1] = {172.28.52.17};
请问addressList[0]数据代表什么?
IP地址
GetHostAddresses
------解决方案--------------------IPV6的地址
------解决方案--------------------Dns.GetHostAddresses(MachineName)
.Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
.First()
是筛选ip v4
Dns.GetHostAddresses(MachineName)
.Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
.First()
是筛选V6的ip地址
------解决方案--------------------你所谓的规范指什么?
需要注意的是:
1.当所有本地连接都被禁用,取到的将是回环地址127.0.0.1
2.当目标机器的网卡出现问题系统无法识别,有可能一个都取不到,导致.First()抛出异常
3.当有多块网卡时(包括虚拟网卡),上述方法取到的就不准确了,需根据情况来定