Feedback

VB - Lokale IP / IPs ermitteln

Veröffentlicht von am 22.11.2007
(1 Bewertungen)
2 Funktionen, die die Lokale(n) IP(s) ermitteln.
Falls nicht geben sie entweder 0.0.0.0 zurück oder einen selbstdefinierten IP-String.
    ''' <summary>
    ''' Gibt ein Stringarray mit den Lokalen IPs zurück
    ''' </summary>
    ''' <param name="GenerateIP">wenn keine IP gefunden wird, eine genereiren?</param>
    Public Function GetLocalIPs(Optional ByVal GenerateIP As Boolean = False) As String()
        Dim StrngAr() As String
        Try
            Dim IP As Net.IPAddress
            Dim IPList As Array = Net.Dns.GetHostEntry(SystemInformation.ComputerName.ToString).AddressList
            If IPList.Length > 0 Then
                ReDim StrngAr(IPList.Length - 1)
                For i As Integer = 0 To IPList.Length - 1
                    IP = IPList.GetValue(i)
                    StrngAr(i) = IP.ToString
                Next
                Return StrngAr
            End If
        Catch ex As Exception
        End Try

        ReDim StrngAr(0)
        If GenerateIP = True Then
            StrngAr(0) = "192.168.1.1"
        Else
            StrngAr(0) = "0.0.0.0"
        End If

        Return StrngAr
    End Function

    ''' <summary>
    ''' Gibt einen String mit der ersten gefundenen gültigen IP zurück.
    ''' </summary>
    ''' <param name="GenerateIP">wenn keine IP gefunden wird, eine genereiren?</param>
    Public Function GetLocalIP(Optional ByVal GenerateIP As Boolean = False) As String
        Try
            Dim IP As Net.IPAddress
            Dim IPList As Array = Net.Dns.GetHostEntry(SystemInformation.ComputerName.ToString).AddressList
            If IPList.Length > 0 Then
                For i As Integer = 0 To IPList.Length - 1
                    IP = IPList.GetValue(i)
                    If IP.ToString <> "0.0.0.0" Then Return IP.ToString
                Next
            End If
        Catch ex As Exception
        End Try

        If GenerateIP = True Then
            Return "192.168.1.1"
        Else
            Return "0.0.0.0"
        End If
    End Function
Abgelegt unter lokale IP, IP auslesen, IP Adresse, IP.

1 Kommentare zum Snippet

Justus schrieb am 14.07.2009:
Hmm, es gibt da eine eigene Methode um IP-Adressen vom lokalen Rechner rauszubekommem. .Net stellt dazu die Funktion NetworkInterface.GetAllNetworkInterfaces() zur Verfügung. Ich hab das auf http://halloserv.de/blog/index.php?/archives/80-Lokale-IPs-rausfinden.html genauer beschrieben.
 

Logge dich ein, um hier zu kommentieren!