Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Clientverbindung (Indy) überprüfen (https://www.delphipraxis.net/72879-clientverbindung-indy-ueberpruefen.html)

PinkoPalino 8. Jul 2006 15:41


Clientverbindung (Indy) überprüfen
 
Hi!
Gibt es einen Befehl, mit dem man überprüfen kann, ob die Verbindung zwischen dem Indy TCP Server und dem Client noch besteht?

Thanks!

Ich habe folgendes versucht:

Delphi-Quellcode:
 

 with TCPClient do
  try
   Connect;  //Hier Fehlermeldung unterdrücken
   WriteLn('02' + LocalIP);
   Disconnect;
  except
   ShowMessage('Verbindung unterbrochen');
 end;
Hier müsste meiner meinung nach, wenn die Verbindung bei Connect fehlschlägt das except ausgeführt werden. Dies passiert auch. Aber zuvor erscheint immer noch die Fehlermeldung "Socketfehler ... Verbindung konnte nicht hergestellt werden" oder so irgendwie. Diese Fehlermeldung sollte unterdrückt werden, da ich ja selbst eine Fehlermeldung ("Verbindung unterbrochen") habe.

Könnt ihr mir sagen wie die Fehlermeldung unterdrückt wird oder diese Aktion irgendwie anders durchgeführt werden kann?

Zacherl 8. Jul 2006 15:49

Re: Clientverbindung (Indy) überprüfen
 
Gibt es da nicht eine Eigenschaft namens "Connected" ?

Florian

PinkoPalino 8. Jul 2006 15:56

Re: Clientverbindung (Indy) überprüfen
 
TCPClient.Connected wird nur auf true gesetzt, wenn man zuvor mit TCPClient.Connect verbindet. Bei TCPClient.Connect sollte aber schon die Fehlermeldung angezeigt werden.

Zacherl 8. Jul 2006 16:06

Re: Clientverbindung (Indy) überprüfen
 
Achso. Im Zweifelsfalle mal über das OnException Event der ApplicationEvents Komponente die Exception abfangen.

Florian

PinkoPalino 8. Jul 2006 16:38

Re: Clientverbindung (Indy) überprüfen
 
Wie funktioniert das?

inherited 8. Jul 2006 16:48

Re: Clientverbindung (Indy) überprüfen
 
Du n immst die Aplication-Event-Komponente und gehst ins OnException Ereignis

PinkoPalino 8. Jul 2006 18:17

Re: Clientverbindung (Indy) überprüfen
 
Das wusste ich schon. Was soll ich dann aber in diese Procedure hineinschreiben.
PS: Dieses Ereignis wird gar nicht ausgeführt, wenn der oben genannte Fehler auftritt (habe ich mit Haltepunkt überprüft)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 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