У меня проблема с попыткой получить правильный IPv4 машины в VB.Net, у меня есть этот код:
Private Function GetIPv4Address() As String
GetIPv4Address = String.Empty
Dim HostName As String = System.Net.Dns.GetHostName()
Dim ip As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(HostName)
For Each iph As System.Net.IPAddress In ip.AddressList
If iph.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
GetIPv4Address = iph.ToString()
End If
Next
End Function
Это очень хорошо работает на машине, к которой подключен один IP,но когда я пытаюсь использовать этот код на машине с более чем 1 IP, это дает мне первый, независимо от того, какой у меня основной IP.
Чтобы быть более понятным:
Если мой IP 192.168.1.15и я добавил (для целей подключения к внешним вещам) 192.168.1.14 и 192.168.1.200, код всегда давал мне 192.168.1.14.
Как я могу это исправить?
Этот код должен работатьна нескольких разных машинах с большим количеством подключенных IP.
Заранее всем спасибо.