日期:2014-05-17  浏览次数:20793 次

用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.当有多块网卡时(包括虚拟网卡),上述方法取到的就不准确了,需根据情况来定