Das hilft nicht wirklich weiter, da damit nur die Anzeige das eine
Exception eingetreten ist unterdrückbar ist. Mit dieser Methode kann man also nicht ganz gezielt den Programablauf beeinflussen.
Im Grunde ist es doch absolut easy, die einzenlnen
TCP/
IP Client->Server arbeiten fast immer nach dem gleichen Schemata:
1.) Client verbindet mit Server
2.) Client
TCP/
IP Procedure ist fast immer eine Schleife bzw. linear sequentiell aufgebaut
3.) Server spaltet eigenen Thread pro verbundenen Clienten ab, dessen Thread Funktion ist immer eine Schleife
4.) Client und Server kapseln ihren
TCP/
IP Code immer in try except end Blöcken.
5.) Client sollte sich regulär beim Server per Kommando abmelden
6.) aus Clientside wird damit zwangsläufig immer eine
Exception ausgelösst da es der Server ist der die Verbindung aktiv trennt.
So, auf beiden Seiten wird also die komplette Schleife in einem try except Block gekapselt. Das wars dann schon, denn in dem lokalen
Exception Handler kann man nun ganz gezielt EConnectionCloseGraceFully abfangen.
In meinen
TCP/
IP Servern stelle ich zusätzlich aber noch sicher das der Client sich immer beim Server über ein Kommando abmeldet. Der Server beendet also seinen ClientThread nach dem Empfang dieses Commandos und auf Client-Seite wird damit zwangsläufig immer diese Exeption ausgelösst und die Clientprocedure verlassen.
Da der Server eine gemeinsam genutzte Resource imWEB darstellt ist es besser immer im konzeptionellen davon auszugehen das der Server so wenig wie möglich durch einen Clienten belastet wird. Demzufolge sollte es der Server sein der die Verbingungen zu seinen Clients aktiv trennt.
Gruß hagen