我正在尝试获取本地PC的IP地址,以及我的其他PC中的一个,它获得了v4地址,但是在这一个代码:
Dns.GetHostEntry(Dns.GetHostName).AddressList(0).ToString()
返回我猜的IPv6地址:
fe80::9c09:e2e:4736:4c62%11
我如何获得IPv4地址?
免责声明 - 我没有安装IPv6,可能有更好的方法,但以下内容返回:
Dns.GetHostEntry(Dns.GetHostName()).AddressList .Where(a => !a.IsIPv6LinkLocal && !a.IsIPv6Multicast && !a.IsIPv6SiteLocal) .First() .ToString();
编辑 - 没注意到你在VB中问,所以我尝试将其翻译成:
Dim s As String = Dns.GetHostEntry(Dns.GetHostName()).AddressList _ .Where(Function(a As IPAddress) Not a.IsIPv6LinkLocal AndAlso Not a.IsIPv6Multicast AndAlso Not a.IsIPv6SiteLocal) _ .First() _ .ToString()
这可能会爆炸,所以不要将其视为生产代码.