我用盡了一切辦法讓我的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
您可以枚舉計算機中的所有網絡適配器,查找符合條件(名稱,網關等)的網絡適配器。然後從該適配器返回地址。對不起,我現在沒有可用的函數名稱。 –