![]() |
Re: Ping per WinAPI
Hi,
@ichhabefertig: musst du. ;) @Hagen: :? Jetzt wollte ich das mal selber machen und dann das... :roll: Naja. Vermutlich werde ich mir das mal ansehen. Chris |
Re: Ping per WinAPI
Tja, das ist die Frage die wir uns alle stellen. Man kann die LingerTime/Timeout usw. runtersetzen, doch leider hat das wenig Konsequenzen bzw. führt dazu das Ports als nicht erreichbar erkannt werden die aber erreichbar sind (eben nur sehr langsam reagieren).
Es gibt zwei Wege 1.) das MS WinSock API unterstützt asynchrone Socket Operationen. Man stößt mit diesem API eine Socketoperation an, und das API sendet eine Message an ein Fenster bei Fertigstellung dieser Funktion. Das bringt sehr wenig gegenüber: 2.) PortPresent in einen Thread auslagern. Suche hier im Forum nach "PortScanner". Die Sourcen von Asserbad und mir bauen auf Threads auf. Meine Lösung ist teilweise VCL + API basiert, Asserbads Lösung ist vollständig Non-VCL. Beide Lösungen scannen mithilfe von 256-2000 Threads gleichzeitig einen Portbereich. Gruß Hagen |
Re: Ping per WinAPI
Zitat:
|
Re: Ping per WinAPI
Die Funktion hat ein minimales Errorhandling. Du mußt jetzt per Debugger testen wie weit die Funktion kommt.
Gruß Hagen |
Re: Ping per WinAPI
Hallo
Mal eine Frage: Wenn die IP nicht existiert und
Delphi-Quellcode:
ausgeführt wird, hängt sich die Funktion auf. Kann man da ein TimeOut angeben?
Result := Connect(S, A, SizeOf(A)) = 0;
Gruß |
Re: Ping per WinAPI
Zitat:
Gruß Hagen |
Re: Ping per WinAPI
Hallo
Ich hab das ganze mal mit "217.217.217.217" versucht. Das Teil kommt durch, warten kann ich aber ne halbe Ewigkeit. Mit welcher Funktion kann man den Timeout einstellen? Gruß |
Re: Ping per WinAPI
Hi negah,
deine Funktion produziert einen Fehler in der Zeile: A.sin_addr.S_addr := PDWord(H.h_addr_list^)^; Fehler bei Bereichsprüfung. Bereichsprüfung wurde abgeschaltet. Funktion so nicht brauchbar. Rainer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz