Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10, warum so besch*****? (https://www.delphipraxis.net/86207-indy-10-warum-so-besch%2A%2A%2A%2A%2A.html)

omata 10. Feb 2007 21:55


Indy 10, warum so besch*****?
 
Ich habe mal eine Frage zu den Indy-Komponenten.

Installation war kein Problem. Dann dachte ich mir schau ich mir mal die Beispiele an. Wunderbar dachte ich ganz einfacher Server und Client. Kommunikation funktioniert auch. Also eigentlich alles super. Nur was ist wenn es eben mal nicht so klappt bzw. in der Reihenfolge passiert wie die Indys das erwarten.

Wenn ich eine Client-Server-Verbindung habe und dann den Client beende geht das. Aber was ist wenn ich den Server beende? Der Client bekommt dann davon nichts mit! Wieso? Und es ist noch viel schlimmer der Server hängt und beendet sich dann gar nicht mehr.

Also ich frage mich einfach was das soll? Wenn nicht mal diese einfachsten Dinge von diesen Komponenten übernommen und sinnvoll ausgeführt werden, was soll ich dann damit?

Wahrscheinlich bin ich nur zu blöd für diese Komponenten (allerdings geht das ja nichtmal in den Beispielen)

Freue mich über konstruktive Hinweise
Thorsten

Christian Seehase 10. Feb 2007 22:01

Re: Indy 10, warum so besch*****?
 
Moin Thorsten,

warum sollte ein Client das sofort mitbekommen, wenn der Server weg ist?
Wenn ich einem Netzwerkprogramm den Server wegnehme, z.B., dadurch, dass ich mal testeshalber das Netzwerkkabel ziehe, wird er, bei einer laufenden Verbindung, so lange hängen bleiben, bis er auf ein, hoffentlich eingestelltes, Timeout läuft. Sollte gerade keine Verbindung bestehen: Dann sollte es gleich eine Fehlermeldung geben, dass der Server nicht gefunden/erreicht werden kann.

omata 10. Feb 2007 22:08

Re: Indy 10, warum so besch*****?
 
Ja ok.
Aber ich meine ja jetzt nicht das Ziehen des Netzwerkkabels. Ich meine wenn ich meinen Server normal beende, dann würde ich erwarten, dass in den Clients ein Ereignis aufgerufen wird. Und ich diesen normalen Zustand ermitteln und auf diesen reagieren kann.

Was ich allerdings viel schlimmer finde ist, dass sich der Server völlig weghängt, wenn noch ein Client verbunden ist und ich den Server beende. Das kann doch wohl nicht war sein.

Gruss
Thorsten

mkinzler 10. Feb 2007 22:11

Re: Indy 10, warum so besch*****?
 
Ist aber nicht üblich, wenn ein Webserver auch alle Clients über sein Ableben benachrichtigen müsste ...

omata 10. Feb 2007 22:14

Re: Indy 10, warum so besch*****?
 
Bei den alten Socket-Komponenten ging das auch wunderbar. Und ich wiederhole mich gerne.

Warum hängt der Server beim Beenden, wenn noch Clients dranhängen?

MrKnogge 10. Feb 2007 22:35

Re: Indy 10, warum so besch*****?
 
Dann beende doch die Verbindungen, bevor du ihn beendest.

DataCool 13. Feb 2007 12:48

Re: Indy 10, warum so besch*****?
 
Hi,

wenn Du den Server beendest, solltest Du vorher die Clients benachrichtigen, das der Server beendet wird.
Dann trennen Server und lient gleichzeitig die Verbindung und alles ist gut ;-)

Greetz DataCool

SirThornberry 13. Feb 2007 12:57

Re: Indy 10, warum so besch*****?
 
was ist jetzt eigentlich deine Frage? Das der Server sich weghängt ist nicht wirklich ein weghängen sondern er ist noch mit den Verbindungen beschäftigt. Wenn du diese ordentlich beendest hängt da auch nichts mehr.

omata 13. Feb 2007 20:45

Re: Indy 10, warum so besch*****?
 
Ich hatte eigentlich gehofft, dass es vielleicht funktionierende Beispiele irgendwo gibt. Die man einfach installieren kann oder die sich einfach benutzen lassen.

Ich hab das allerdings schon wieder aufgegeben...


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