Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#20

Re: Exception Messagebox unterdrücken

  Alt 26. Sep 2004, 15:25
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
  Mit Zitat antworten Zitat