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