我用尽了一切办法让我的IPv4地址...试图让我的IPv4地址获取的VirtualBox的IPv4
一些例子:
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()
_
Dim myClientMachineAddressList As IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName())
Dim myClientMachineIP As String = myClientMachineAddressList.AddressList(0).ToString()
_
strHostName = System.Net.Dns.GetHostName()
strIPAddress = System.Net.Dns.GetHostByName(strHostName).AddressList(0).ToString()
_
Dim entry = Dns.GetHostEntry(System.Net.Dns.GetHostName())
For Each address In entry.AddressList
If address.AddressFamily = AddressFamily.InterNetwork Then
Return address.ToString
End If
Next
E.t.c.
...但上述所有给我的VirtualBox的IPv4一样:
这是为什么,我该如何解决?
正如你已经注意到的,你的电脑有多个IP地址。你的代码总是返回第一个(不保证顺序)。恰巧,第一个来自VirtualBox适配器。 –
我可以做些什么吗? – BanForFun
您可以枚举计算机中的所有网络适配器,查找符合条件(名称,网关等)的网络适配器。然后从该适配器返回地址。对不起,我现在没有可用的函数名称。 –