读书人

用Dns.GetHostAddresses的有关问题

发布时间: 2013-03-19 17:22:05 作者: rapoo

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

读书人网 >C#

热点推荐