AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Router geht Offline, wie bekommt das ein ClientSocket mit ?
Thema durchsuchen
Ansicht
Themen-Optionen

Router geht Offline, wie bekommt das ein ClientSocket mit ?

Ein Thema von PeterP. · begonnen am 11. Dez 2004 · letzter Beitrag vom 14. Dez 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 13:56
Ich denke mal nicht, dass sein Router bereits laufende Pakete neu maskiert sondern eher, dass sein Router bei einer einfachen Anfrage ans Internet einfach die Verbindung neu aufbaut...
Also ich kenne keinen Router, bei dem man einen Verbindungszusammenbruch mitbekommt vom Client her, wenn ich darüber nachdenke, dass ICQ, MSN, Trillian, Opera, Java, etc. alle nicht mitbekommen, wenn die Verbindung weg ist, würd ich sagen es ist imho nicht möglich

Man könnte allerdings einfach den Router fragen, wie die aktuelle WAN IP ist, dann dürfte klar sein ob noch ne Verbindung da ist...
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#12

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 15:00
Schau doch mal, ob du nicht ggf. per SNMP den Online-Status des Routers abfragen kannst.
Das wäre nicht unüblich ...

Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
PeterP.
(Gast)

n/a Beiträge
 
#13

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 15:02
@jim_raynor
was bedeutet denn "VCL" ? richtig: Visual Component Library.
Ist eine Konsole eine "Visuelle Komponenten Bibliothek" ?
Und wenn du dir ein Fenster ohne die VCL "FORMS" erstellst und dann die Unit "Scktcmp" benutzt, dann ist es in meinen Augen kein "non-VCL" mehr. Denk mal drüber nach und hau nicht mit Begriffen um dich, dessen Bedeutung du nicht ganz genau hinterfragt hast.
Mir ist natürlich vollkommen klar, dass man Windows Fenster nur mit der WinAPI erstellen kann. Aber es ist momentan total belanglos, ob mein Client nun ein richtiges Fenster hat oder nur ne simple Konsole ist.


@fiasko
Könntest du mir das mit dem SYN Flag mal erklären ?
Also warum, wofür und wann man sowas anwendet ?

Zitat:
Also ich kenne keinen Router, bei dem man einen Verbindungszusammenbruch mitbekommt vom Client her, wenn ich darüber nachdenke, dass ICQ, MSN, Trillian, Opera, Java, etc. alle nicht mitbekommen, wenn die Verbindung weg ist, würd ich sagen es ist imho nicht möglich
Das ist doch mal eine Aussage mit der man was anfangen kann.

Mir ist aufgefallen, dass Trillian das so erkennt:
-Verbindung zu ICQ besteht mit Trillian
-Router trennt nach Timeout (zum Beispiel nach 10 sek ohne Datentransfer. NUR zum Beispiel)
-Trillian schickt irgendwann immer mal ein Packet nach ICQ (Keep Alive Packet ???), und wenn keine ordentliche Antwort (FLAP/SNAC Header) auf dieses Packet kommt, dann verbindet er neu mit ICQ. Der Router baut aber schon beim Senden des (Keep Alive)-Packets die Verbindung auf.

Also ist meine einzige Möglichkeit auch so eine Art "Keep Alive" einzubauen ?


mfg
PeterP.
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 15:19
Also es gibt verschiedene Möglichkeiten einer Prüfung... MSN hat beispielsweise eine statische Verbindung offen (Sonst wäre es nicht möglich Dateien trotz Router zu empfangen, ausser bei forwarding etc.) und wenn eine gewisse Zeit keine Daten über diese Verbindung kommen wird ein Timeout ausgelöst... Das gleiche Prinzip verwenden WebChats, allerdings sind die WebBrowser alle zu doof um den Zusammenbruch mitzubekommen (Manchmal ja, manchmal nein).
Wenn also für eine gewisse Zeit keine Daten mehr reinkommen bei einem geöffneten Socket, sofern der Server stetig Daten sendet, kann man davon ausgehen, dass die Verbindung verloren wurde.

Die Router sind nämlich leider zu doof einfach die Sockets alle zu schließen, wenn die WAN Verbindung ausfällt.

Man entschuldige die bescheidene Schreibweise, ich brauch Urlaub

Edit: Die Aussage aus meinem vorherigen Posting, dass die Clients es garnicht mitbekommen ist nicht richtig... Sie merken es halt erst wenn der Timeout ausläuft.

Edit2:
Zitat:
Also ist meine einzige Möglichkeit auch so eine Art "Keep Alive" einzubauen ?
Ja
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
PeterP.
(Gast)

n/a Beiträge
 
#15

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 15:52
Danke SubData, du hast mich auf eine Idee gebracht das umzusetzen.
Ich lass den Server einfach alle x sekunden ein "IsOnline" Packet schicken und im Clienten alle y sekunden prüfen, ob ein Packet empfangen wurde, wenn nicht dann CloseSocket.



mfg
PeterP.
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Router geht Offline, wie bekommt das ein ClientSocket mi

  Alt 14. Dez 2004, 15:56
Jop das is ne brauchbare Idee... Allerdings würde ich die "Fehlerbehandlung" auf 2 Pakete setzen.. d.H. wenn 2 Pakete nich ankommen, dann würde ich den Socket schließen (Es kann immerhin immer mal passieren, dass n Paket verloren geht)
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz