AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke MIDAS TSocketConnection, Reconnect
Thema durchsuchen
Ansicht
Themen-Optionen

MIDAS TSocketConnection, Reconnect

Ein Thema von Dejan Vu · begonnen am 11. Sep 2014 · letzter Beitrag vom 11. Sep 2014
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: MIDAS TSocketConnection, Reconnect

  Alt 11. Sep 2014, 09:00
Ich hab das Problem auch in einer Delphi 6 Anwendung. Bei Abbruch der Verbindung wird der Error ausgelöst, was ich nutze um dem Nutzer im Client anzuzeigen, dass gerade keine Verbindung besteht. Hier müsste man eigentlich noch den Error genauer prüfen, aber mir ist es an der Stelle eigentlich egal, warum, hauptsache ich weiß, dass die Verbindung nicht mehr steht.

An dieser Stelle könnte dann auch ein Timer gestartet werden (ist bei mir nicht nötig, da eh einer läuft) der alle X Sekunden einen Reconnect versucht. In meinem Fall guckt er dazu in einer DB nach den Parametern für Host und Port, da es u.U. sein kann, dass ein anderer Server einspringt und der Client sich einfach mit diesem verbindet.

Delphi-Quellcode:
procedure TMain.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
                                  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  if not ClientSocket.Active then
    LC.CreateWarnline;
  ErrorCode:=0;
end;

procedure TMain.TimerTimer(Sender: TObject);
begin
  //...

  //Da in meinem Fall der Server alle 30 sek. was schicken soll
  //prüfe ich u.a. im Timer, wie alt die letzte Nachricht ist.
  //So fällt ein Verbindungsabbruch auch ohne Error auf.

  if SecondsBetween(now,LastServerMessage) > 60 then
    if not ClientSocket.Active then
      begin
      ConnectToServer;
      end;

  if SecondsBetween(now,LastServerMessage) > 120 then
    begin
    ConnectToServer;
    end;
end;
Ralph
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 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