TCP-Client Timeoutzeit verkürzen

  • VB.NET
  • .NET (FX) 4.5–4.8

    TCP-Client Timeoutzeit verkürzen

    Moin liebe Community,

    seit gestern versuche ich die Zeitspanne eines Timeouts (TCP-Client) zu setzen, jedoch reagiert das ganze nicht.
    Ich will das eine Range Scannen (1.1.1.1 - 1.1.1.254) das ganze mit einer For - to schleife. Läuft auch alles wunderbar nur soll er jetz bei jeder IP
    zusätzlich noch überprüfen ob Ports offen sind und wenn ja Welche.
    Ist eine IP erreichbar wird diese in eine Treeview gepackt und jeder aktive Port als Ast hinzugefügt:

    1.1.1.2
    - 80
    - 3306
    1.1.1.10
    1.1.1.11
    - ...
    .....

    usw eben.

    Wenn jedoch ein port nicht erreichbar ist, benötigt die Schleife einfach ewig lange, da das Timeout vom Client viel zu lange braucht T_T
    einer ne Idee?

    kleines Code-Beispiel:

    VB.NET-Quellcode

    1. Dim fromip() As String = Split(txtNSfrom.Text, ".")
    2. Dim toip() As String = Split(txtNSuntil.Text, ".")
    3. Dim rangefromip As Integer = fromip(2)
    4. Dim ipfromip As Integer = fromip(3)
    5. Dim rangetoip As Integer = toip(2)
    6. Dim iptoip As Integer = toip(3)
    7. For i = rangefromip To rangetoip
    8. For x = ipfromip To iptoip
    9. Dim treeentry As Integer
    10. Dim reply As PingReply = intping.Send(ip, 500)
    11. If reply.Status = IPStatus.Success Then
    12. TreeView1.Nodes.Add(ip)
    13. For Each port In portlist
    14. Dim ip As String = fromip(0) & "." & fromip(1) & "." & i & "." & x
    15. Dim Client1 As New System.Net.Sockets.TcpClient
    16. Client1.ReceiveTimeout = 5
    17. Client1.Connect(ip, port)
    18. ' MsgBox("limit erreicht" & port)
    19. TreeView1.Nodes(treeentry).Nodes.Add(port)
    20. Client1.Close()
    21. Next
    22. treeentry += 1
    23. End If
    24. Next
    25. Next
    Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love: