Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi client timeout (https://www.delphipraxis.net/184272-client-timeout.html)

toddler1992 13. Mär 2015 17:43

client timeout
 
Guten Tag Delphi Praxis.

Ich sitze gerade an einer Software die mit den tClient und tServerSocket Komponenten arbeitet. Das ganze funktioniert theoretisch auch, leider muss der Server gestartet werden und dann der Client. Falls der Client zuerst gestartet wird kommt ´nur eine Fehlermeldung mit einem Asynchronen-Socket Fehler 10061. Um das ganze zu verhindern habe ich einen Timer hinzugezogen der folgendes macht :
Delphi-Quellcode:
procedure TForm4.timerTimer(Sender: TObject);
begin

try
    client.Host := '127.0.0.1';
    client.Port := 1337;
    client.Active := True;


    if client.Socket.Connected then
    begin
      timer.Enabled := False;
    end;
finally
end;
Und später noch auf das Event Disconnect
Delphi-Quellcode:

procedure TForm4.clientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
timer.Enabled := True;
end;
Nachedem ich das dann getestet habe musste ich fest stellen das die Fehlermeldung immer noch kommt, gelöscht habe ich den Code noch nicht, vielleicht muss man ja nur etwas ergänzen.

Mein Ziel ist es das der Client solange versucht eine Verbindung herzustellen bis es ihm gelingt ( Ohne Fehlermeldung ) und das er es wieder weiter versucht wenn der Server geschlossen wird.

Danke!

Der schöne Günther 13. Mär 2015 17:46

AW: client timeout
 
Eine dumme Frage: Hast du verstanden was Exceptions ("Fehlermeldung") sind?

Jumpy 13. Mär 2015 18:05

AW: client timeout
 
Gibt es nicht in der ClientSocket Komponente das OnError Event?
Schreib da eine Funktion rein, die prüft, ob das dieser erwartete Error ist. Falls nein: Melden. Falls ja einen Timer starten der X Sekunden wartet und der dann einen neuen Verbindungsversuch startet (und sich selber ausstellt). Klappt der Verbindungsversuch jetzt, ist alles gut. Falls nicht schlägt wieder das On ErrorEvent an und es geht von vorne los.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.

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 by Thomas Breitkreuz