Netzwerk IP-Adressen auslesen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    Netzwerk IP-Adressen auslesen

    Hallo Liebe Community ,
    Ich bin es nach langer Zeit mal wieder ;)
    Wollte nur mal fragen, wie ich die Netzwerkumgebung analysieren kann.
    Also um genau zu sein habe ich einen kleinen TCP/IP-Chat programmiert aber nur möchte ich die IP-Adresse der Eingeschalteten PC´s auslesen ?
    Wie funktioniert das ?
    Ich habe bisher das hier und dort zeigt er nur 127.0.0.1 und meine Adresse an :

    VB.NET-Quellcode

    1. Dim ipAddress As IPHostEntry = Dns.GetHostByName(Dns.GetHostName)
    2. ComboBox1.Items.Add(ipAddress.AddressList.GetValue(0).ToString)



    Ich habe es auch bereits mit diesem versucht :

    VB.NET-Quellcode

    1. Dim Addresslist() As IPAddress = Dns.GetHostByName(Dns.GetHostName()).AddressList
    2. Dim IPs As IPAddress
    3. ' alle IP-Adressen auflisten
    4. ComboBox1.Items.Clear()
    5. For Each IPs In Addresslist
    6. ComboBox1.Items.Add(IPs.ToString)
    7. Next IPs

    MFG
    Code-Fresser

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Code-Fresser“ () aus folgendem Grund: Tatsachen veränderung

    Hier, basierend auf net view
    (Braucht vll noch etwas feintuning)

    VB.NET-Quellcode

    1. Private Sub GetComputerFromNetwork() As List (Of String)
    2. Const Argument As String = " view"
    3. Dim TList As New List(Of String)
    4. Dim hProcess As Process = New Process()
    5. With hProcess.StartInfo
    6. .FileName = "net.exe"
    7. .Arguments = Argument
    8. .RedirectStandardOutput = True
    9. .UseShellExecute = False
    10. .CreateNoWindow = True
    11. With hProcess
    12. .Start()
    13. .WaitForExit()
    14. Dim result As String = ""
    15. While .StandardOutput.Peek > -1
    16. result = .StandardOutput.ReadLine()
    17. If result.StartsWith("\\") = True Then
    18. Dim name As String = result.Substring(0, result.IndexOf(" "c))
    19. name = name.Substring(2).Trim
    20. Dim iphi As Net.IPHostEntry = Dns.GetHostEntry(name)
    21. If Not IsNothing(iphi) Then
    22. iphi.AddressList = Array.FindAll(iphi.AddressList, Function(n As IPAddress) n.AddressFamily = Sockets.AddressFamily.InterNetwork)
    23. End If
    24. TList.Add(iphi.AddressList(0).ToString & " (" & name & ")")
    25. End If
    26. End While
    27. End With
    28. End With
    29. Return TList
    30. End Sub
    SᴛᴀʀGᴀᴛᴇ01
    Wenn du eine Client-Server-Applikation erstellen willst, bei der der Client den Server automatisch finden soll, ist das einfachste, es wie DHCP zu machen. Du sendest einfach ein UDP-Datagram an das komplette Netzwerk (255.255.255.255). Der Server antwortet dann darauf. So bekommst du die IP des Servers.
    Probleme dabei:
    - Funktioniert nur im eigenen LAN
    - Es darf nur einen Server im LAN geben, sonst kommen sich die beiden in die Quere (zumindest wenn sie am gleichen Port lauschen). Natürlich kann man das noch ausbauen, sodass es dort keine Probleme mehr gibt
    Von meinem iPhone gesendet