![]() |
TCPClient/TCPServer: Server fällt aus, Clients warten???
Hallo Leute!
Ich muss euch noch n'bißchen mit TCP Sockets belästigen. Wenn man z. B. eine einfachste TCP-Connection mit TTcpServerSocket und TTcpClientSocket aufbaut und dann der Serverteil, warum auch immer, abstürzt, bleibt den ClientSocket "verbunden". Netürlich bleibt er in Wirklichkeit nicht verbunden, da der Server offline ist. Ich habe aber einen Timer, der überprüfft ständig, ob der Client noch online ist: Server:
Code:
Client:
...
ServerSocket1.Port := 12345; ServerSocket.Open; ..
Code:
Ich kille den Serverteil über Task-Manager aber die Connected-Eigenschaft des Clients bleibt auf True. Das passiert wahrscheinlich, weil des ServerSocket nicht geschlossen wurde, glaube ich. Kann man es irgendwie vermeiden?
...
ClientSocket1.Host := 'xxx.xxx.xx.x'; ClientSocket1.Port := 12345; ClientSocket1.Open; ... procedure TForm1.Timer1Timer(Sender: TObject); begin if ClientSocket1.Socket.Connected then StatusBar1.Panels.Items[0].Text := 'Verbunden' else StatusBar1.Panels.Items[0].Text := 'Nicht verbunden'; end; ... Ich möchte es so machen, dass die Clients IMMER auf den Server warten, wenn der mal offline ist. Wenn Client ausgeführt wird und Server offline ist, ist es natürlich kein Problem - man löst es einfach mit einem Timer, der mit regelmäßigen Abständer zu connecten versucht. Was ist zu tun, wenn Server mal plözlich ausfällt? Wie lasse ich die Clients automatisch wieder connecten, wenn Server wieder online ist? Danke! MfG, Ralf |
Re: TCPClient/TCPServer: Server fällt aus, Clients warten???
Hallo romber,
sende ein regelmäßiges Ping-Paket an den Server, und wenn innerhalb einer bestimmtne Zeitspanne nichts zurückkommt, dann setzt du das Socket auf False und aktivierst den Timer für die automatische Verbindung (der der auch läuft, sobald das Programm startet). Greetz alcaeus |
Re: TCPClient/TCPServer: Server fällt aus, Clients warten???
Hallo,
beim Server gibt es "OnException". Vielleicht wird dieser ausgeführt, wenn der Server (nicht richtig) geschlossen wird. Anderst, schick doch einfach, wenn das Form beendet wird eine Nachricht an der Clienten, dass dieser jetzt disconnecten soll. |
Re: TCPClient/TCPServer: Server fällt aus, Clients warten???
Zitat:
Zitat:
Greetz alcaeus |
Re: TCPClient/TCPServer: Server fällt aus, Clients warten???
Danke! Werde ich versuchen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:12 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-2025 by Thomas Breitkreuz