Получение правильного IPv4 в VB.Net - PullRequest
0 голосов
/ 17 декабря 2018

У меня проблема с попыткой получить правильный 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.

Заранее всем спасибо.

1 Ответ

0 голосов
/ 17 декабря 2018

Я думаю, что ваш ответ прямо здесь, вам просто нужно просмотреть список адресов

https://stackoverflow.com/a/11860141/1066191

...