Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem mit ConnectTimeout und Indy 10 und TIdTCPClient (https://www.delphipraxis.net/97665-problem-mit-connecttimeout-und-indy-10-und-tidtcpclient.html)

Alex_ITA01 14. Aug 2007 09:31


Problem mit ConnectTimeout und Indy 10 und TIdTCPClient
 
Hallo zusammen,
ich habe folgendes Problem.
Wenn mein TIdTCPClient den Server nicht findet, weil er einfach zur Zeit nicht verfügbar ist, dann sollte er doch nach 500ms aufhören zu suchen (ConnectTimeout).
Ich habe diesen Code im Create eines Threades aber egal was ich bei ConnectTimeout schreibe, er bleibt darin hängen und macht gar nichts mehr.
Wisst ihr woran das liegt bzw. wie ich ein ConnectTimeout noch setzen kann?

Delphi-Quellcode:
    TCPClient     := TIdTCPClient.Create(Nil);
    TCPClient.Host := '172.20.22.123';
    TCPClient.Port := 2000;
    TCPClient.ConnectTimeout := 500;
    TCPClient.Connect;
MFG Alex

SirThornberry 14. Aug 2007 10:34

Re: Problem mit ConnectTimeout und Indy 10 und TIdTCPClient
 
Hast du mit Haltepunkten/durchsteppen festgestellt das er darin hängen bleibt?

Alex_ITA01 14. Aug 2007 10:38

Re: Problem mit ConnectTimeout und Indy 10 und TIdTCPClient
 
ja habe ich mit haltepunkt probiert. er bleibt genau in dem Connect stehen und geht nicht weiter...
Mir ist ja auch bewusst, dass er nicht weiter geht, weil der server eben nicht da ist.

mfg alex

SirThornberry 14. Aug 2007 10:48

Re: Problem mit ConnectTimeout und Indy 10 und TIdTCPClient
 
am besten du stellst in den Projektoptionen mal die Debug-DCU's an und schaust wo genau er hängt und welche Variable/Property da einfluss hat.

Alex_ITA01 14. Aug 2007 11:04

Re: Problem mit ConnectTimeout und Indy 10 und TIdTCPClient
 
Ich habe es jetzt so gemacht:

Delphi-Quellcode:
    try
      TCPClient     := TIdTCPClient.Create(Nil);
      TCPClient.Host := '172.20.22.123';
      TCPClient.Port := 2000;
      TCPClient.ConnectTimeout := 3000;
      TCPClient.Connect;

      TCPClient.IOHandler.MaxLineLength := 786500;
    except
      //Mache irgendwas
    end;
Er geht mir jetzt wenigstens in Except und die Anwendung läuft weiter hoch.
Das scheint ja so erstmal zu laufen.
MFg Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz