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