TIdHTTP: IndyHTTP Client Timeout festgelegen
-
Hallo Leute,
ich arbeite gerade im BCB6 mit der IndyHTTP Client-Komponente. Funktioniert alles wunderbar. Wird allerdings eine flasche IP angegeben und somit der Server nicht erreicht, braucht es 20 Sekunden, bis ich über eine Exception den Timeout abfangen kann.
Gibt es eine Möglichkeit diesen Wert zu manipulieren. Für meine Anwendung würden 2-3 Sekunden reichen. Meldet sich ein Server in dieser Zeit nicht, kann es ruhig einen Timeout geben.

Ach ja, um noch einen drauf zu setzen. Während die Anwendung 20 Sekunden lange wartet, blockiert sie natürlich die eigentliche Applikation.

Danke schon mal für evtl. Hilfe

-
Hallo
ich vermute du muist TIdTCPConnection::ReadTimeout verwenden.
bis bald
akari
-
Vielen Dank für den Hinweis.
Ich hatte heute Zeit noch mal genauer zu suchen - eben auch nach diesem Timeout. Dabei bin ich darauf gestoßen, dass meine von Borland mitgelieferte Version der Indy Komponenten (8.SchwachDaneben) keine Unterstützung für TimeOuts bietet.
Also habe ich mir von http://www.indyproject.org die Version 9.00.17 herunter geladen. Es gibt zwar auch schon Version 10.x, aber die scheinbar nur für Delphi und nicht für BCB6. War auch ein ganz schönes gebrutzel, die zu installieren. Zudem konnte ich mein Testprojekt danach auch nicht mehr kompilieren. Gab zig Fehler. Ich habe auf der grünen Wiese erneut angefangen - Juhu es geht!

Die Property heißt: ConnectTimeout und wird in Millisekunden angegeben. Einen Hacken hat die Sache jedoch: Verwendet man einen DNS Namen, so wird er ja zu Beginn aufgelöst. Ist DNS falsch konfiguriert oder braucht zu lange, um eine Negativmeldung zu liefern, hängt das Programm so lange. Dafür habe ich noch keinen Timeout finden können
