Schneller Netzwerkping

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von razzzer530i.

    Schneller Netzwerkping

    Moin,

    ich habe ein kleines Problem...

    Es geht um Drucker und Server im Netzwerk, die ich anpinge.
    Nicht alle sind in der Domaine, oder DHCP.
    Die Namen sehen so aus:
    BROTHER01
    BROTHER02
    usw.
    Ich ping mit der folgenden Funktion den Hostnamen an, da mir dieser bekannt ist.

    VB.NET-Quellcode

    1. Public Function checkDev(ByVal host As String) As Boolean
    2. Dim pg As New Ping
    3. Dim options As PingOptions = New PingOptions
    4. options.DontFragment = True
    5. Dim pingreply As PingReply
    6. Dim Timeout = 50
    7. Dim PacketSize = 32
    8. Dim data As String = ""
    9. Dim i As Integer
    10. For i = 1 To PacketSize
    11. data = String.Concat(data, "a")
    12. Next
    13. Dim buffer() As Byte = Encoding.ASCII.GetBytes(data)
    14. Try
    15. pingreply = pg.Send(host, Timeout, buffer, options)
    16. If pingreply.Status = IPStatus.Success Then
    17. Return True
    18. Else
    19. Return False
    20. End If
    21. Catch ex As Exception
    22. Return False
    23. End Try
    24. End Function


    Ist jetzt eins der Geräte nicht verfügbar, so dauert es Jahrhunderte, bis die Exception durch ist und der nächste Ping gemacht wird. Brauche so für 40 mögliche Drucker fast 60 Sekunden.
    Ich möchte jedoch alle Geräte innerhalb von Milisekunden(wie z.B. mit dem MacScanner) listen. Ich benötige diese Funktion um dementsprechend bestimmte Prozeduren zu definieren, komme jedoch nicht weiter.

    Hat da jemand eine Idee wo der Fehler liegt?

    *Topic verschoben*
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    derzeit arbeitest du jeden Ping einzeln ab.
    Evtl. kannst du Zeit sparen, wenn du die Pings asynchron abschickst.

    Auf "Millisekunden" wie beim MacScanner wirst du denke ich aber nicht kommen.
    Wenn doch, hoffe ich, dass jemand die Antwort hier mitteilt, würde mich auch interessieren :thumbup:

    LG, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    @Acr0most

    Also ich habe noch was gefunden.. @ErfinderDesRades hat das hier gepostet >>Forumsuche ftw<< .Threading regelt das ding. Verstehe allerdings noch nicht alles
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~