Forums Neueste Beiträge
 

Suche TCP Socket Verbindung mit Reconnect

16/04/2008 - 10:20 von Michael Andreas | Report spam
Hi,

ich suche ein Beispiel einer TCP-Socket-Verbindung
mit der Möglichkeit das Kabel zu ziehen.
Wird das Kabel wieder verbunden soll die Verbindung
automatisch wiederhergestellt werden.
Also Reconnect.
Wer kennt hierfür ein Beispiel?

Danke Michael
 

Lesen sie die antworten

#1 Thomas Scheidegger
16/04/2008 - 11:06 | Warnen spam
Hallo Michael

ein Beispiel einer TCP-Socket-Verbindung
mit der Möglichkeit das Kabel zu ziehen.
Wird das Kabel wieder verbunden soll die Verbindung
automatisch wiederhergestellt werden. Also Reconnect.




so etwas gibt es nicht explizit.
(TCP ist zT gar immun gegen gewisse/kurze Unterbrüche)

Generell:
Schreibe den SoureCode so, dass pro Socket
_stets_ eine Recv-Operation pendent ist.
Tritt dann irgendwann/irgendwo ein Unterbruch auf,
wird diese Operation mit Fehler abgebrochen.
(was je nach Konstellation eben
erst nach sehr langem Timeout [viele Min.] geschieht)

Das einzige was dann übrigbleibt ist den Socket zu schliessen
(Close, oder ggf Disconnect)
und ganz neu verbinden (Connect/Accept).

Falls dir die gegebenen TCP-Timeouts [aus Registry/systemweit]
zu lange sind, musst du selber über den Socket
periodisch eine Art Ping versenden/beantworten.
(manchmal ginge evtl. auch der TCP-Keepalive)


Gewisse Zusatz-Infos (zB Ebene Netzwerkkarte)
sind auch verfügbar per
System.Net.NetworkInformation Namespace, oder Win32, oder DDK.


P.S.
deine Frage ist kaum .NET/Windows-spezifisch,
sondern generell TCP-Sockets.



Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen