Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TCP-Server als Thread??? (https://www.delphipraxis.net/92245-tcp-server-als-thread.html)

romber 16. Mai 2007 20:20


TCP-Server als Thread???
 
Hallo!

Das man ein Server als Thread laufen lassen kann, ist klar.

Aber ist das sicher? Ich meine, wenn ein unerwartetes Fehler vorkommt wird das Thread beendet, oder?

Würden Sie die Server in einem Thread machen? Was muss man dabei beachten?

Flips 16. Mai 2007 22:01

Re: TCP-Server als Thread???
 
Hi.
Also ich denke nicht, dass es einen Unterschied macht ob nun der Thread einen Fehler verursacht oder der Prozess. Im Prinzip is der Prozess ja auch en Thread (glaub ich zumindest mal :gruebel: ).
Aber genau weiß ich es auch nicht!
Hoffentlich wird meine Aussage nicht gleich wieder widerlegt :lol: :dp:

Wofür willst du überhaupt den Server in einen Thread auslagern?

Meflin 17. Mai 2007 10:35

Re: TCP-Server als Thread???
 
Zitat:

Zitat von Flips
Im Prinzip is der Prozess ja auch en Thread (glaub ich zumindest mal :gruebel: ).

Richtig ;)

Es macht keinen Unterschied ob der Server in einem Extra-Thread läuft, oder nicht. Kann der Fehler nicht behandelt werden, stürzt der Server ab - egal ob nun in dem Extra-Thread oder in dem Thread des Prozesses.

Kann der Fehler behandelt werden läuft der Thread eben weiter - egal welcher ;)


Udontknow 17. Mai 2007 10:54

Re: TCP-Server als Thread???
 
Hallo!

Also...
Die Execute-Methode eines Threads wird bei Exception eben abgebrochen (es sei denn, innerhalb des Threads wird Exeption-Handling betrieben), während der Hauptthread einer normalen VCL-Anwendung bereits von Haus aus gekapselt ist (siehe TApplication.Run in Forms).

Zum Thema TCP-Server & Thread: Sprechen wir über Indy? Der Indy-TCP-Server erstellt bereits für jede Client-Verbindung einen separaten Thread. Jeder Aufruf des Execute-Ereignisses erfolgt im Kontext des erstellten Threads. Von daher hätte man da keine Mehrarbeit. :)

Cu,
Udontknow


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