Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy TCPClient Connection Status (https://www.delphipraxis.net/184346-indy-tcpclient-connection-status.html)

mjustin 24. Mär 2015 15:50

AW: Indy TCPClient Connection Status
 
Zitat:

Zitat von Delphi-Narr (Beitrag 1294659)
Das OnExecute wird doch nur ausgeführt, wenn was vom Client kommt oder nicht?

OnExecute wird vom Server in einer Schleife immer wieder ausgeführt. Es gibt ja auch Fälle in denen der Client nur einmal eine Verbindung herstellt und dann wartet, bis der Server Daten sendet, und dann weiter wartet.

Der Server würde dann in OnExecute prüfen, ob er eine neue Nachricht für den Client hat, und falls nein, die Methode verlassen ... die dann aber "sofort" wieder aufgerufen wird. (Das kann zu einer 100 % Auslastung der CPU führen, dann muss noch eine Bremse wie Sleep eingebaut werden).

Das saubere clientseitige Disconnect würde der Server beim Read oder Write, oder mit CheckForDataOnSource / CheckForDisconnect feststellen.

Delphi-Narr 25. Mär 2015 14:18

AW: Indy TCPClient Connection Status
 
So, mit ein paar Anpassungen hat es dann funktioniert. Der disconnect wird in der OnExecute korrekt durchgeführt. Nur der Client kriegt es jetzt nicht immer mit :D
Aber in den meisten Fällen schon.

Leider funktioniert auch CheckForDisconnect nicht korrekt. Läuft zwischen Windows und Linux mit dem Setup wohl nur manuell...

Danke auf jeden Fall für die Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz