Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Winsock API disconnect oder Fehler abfangen (https://www.delphipraxis.net/98965-winsock-api-disconnect-oder-fehler-abfangen.html)

oki 5. Sep 2007 19:37

Re: Winsock API disconnect oder Fehler abfangen
 
Da das IP ein Paketorientiertes Protokoll ist und die Socketkomponente imho keine "interne" Kommunikation pflegt kann ich mir auch schlecht vorstellen, dass das funzt. Die Gegenseite zu erreichen sollte nur über die eine eigene Kommunikation (wie vorher beschrieben) klappen.

Gruß oki

Zacherl 5. Sep 2007 19:49

Re: Winsock API disconnect oder Fehler abfangen
 
Ist mir auch schleierhaft wie es gehen könnte. Vielleicht sagst du uns, wie du es realisiert hast nitschchedu? :)

oki 5. Sep 2007 20:20

Re: Winsock API disconnect oder Fehler abfangen
 
Hi,

so wie beschrieben, der Client schickt alle 4 Min. (bei mir reicht das) einen Standardtext ("Ping"). Der Server erwartet diesen vom Client. Bleibt er aus, do disconnecte ich die Clientverbindung im Server. Das gleiche natürlich auch in Richtung Client. Ist die Verbindung unterbrochen, kümmert sich der Server nicht weiter drum. Der Client versucht periodisch den Server neu zu connecten. Klappt das nicht, kein Netz, kein Server etc. wirft die ClientSocket auf jeden Fall einen Error. Der kann abgefangen werden. Der Status bleibt im Fehlerfall immer auf dixconnect.

Schlussendlich unterstellt man, dass so lange mann Infos empfängt (beide Seiten) ist alles i.O. Wird eine Zeit lang (über Timeout) nichts empfangen, so stimmt was nicht und die Verbindung wird aktiv unterbrochen (Disconnect).

Natürlich kann man den Timer für den "Ping" nach dem Senden zurücksetzen. Es werden ja Daten empfangen/gesendet. Der "Ping" ist nur ein Ersatz, wenn man in der geforderten Zeit halt nichts zu senden hat. Man kann auch als Standardtext "Ich lebe noch!" :lol: nehmen.

Gruß oki

Zacherl 5. Sep 2007 21:24

Re: Winsock API disconnect oder Fehler abfangen
 
Ah jetzt ist mir ein Konzept eingefallen .. ich lasse den Client einfach jede 10 Sekunden ein Datenpaket erwarten. Wenn der Server grade keine Pakete an den Client sendet, wird ersatzweise alle 10 Sekunden ein einzelnes Byte gesendet ..
Danke für den Anstoß :)

oki 5. Sep 2007 22:09

Re: Winsock API disconnect oder Fehler abfangen
 
Jooop,
so wars gemeint :thumb:

Gruß oki


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