Zum Inhalt springen

[C#] Sockets Keep Alive funktioniert nicht


DBO

Empfohlene Beiträge

Hallo,

ich habe folgendes Problem.

Ich habe eine kleine Server Anwendung geschrieben. Die Server Anwendung wartet in einer eigenen Methode auf neu ankommende Verbindungen.

Für jede neue Verbindung wird dann mittels der Methode AcceptSocket() der TcpListener Klasse ein neues Socket Objekt erstellt.

Für dieses neue erstellte Objekt möchte ich dann die Keep Alive eigenschaft setzen. Dies tue ich mittels folgender Codezeile:

clientSocket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.KeepAlive, 1);

Nun zu meinen Problem:

Allgemein gilt für meinen Server folgendes: Client sendet Befehl an Server. Server führt Befehl aus und antwortet. Von sich aus sendet der Server nie Daten an den Client

Situation a: Die Verbindung bricht zusammen(Kabel ziehen) kurz nachdem der Server einen Befehl von Client empfangen hat.

-> Server versucht antwort Daten zu senden. Dies scheint zunächst zu geschehen. Allerdings kommt nach ca. 1 Min eine Exception das Verbindung geschlossen wurde -> Alles ok.

Situation b: Kabel wird gezogen, als Server gerade keinen Befehl verarbeitet. ->Hier liegt das Problem: Normal erwarte ich das auch hier eine Exception kommt, passiert aber leider nicht!!

Kann mir hier jmd. weiterhelfen? Mache ich beim Setzen der Keep Alive funktion was falsch??

Vielen Dank für eure Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh, ups glatt vergessen:floet:

Also die beiden Registry Keys unter Windows 2000 sind:

KeepAliveInterval und KeepAliveTime.

Der Link zur entsprechenden Dokumentation von Microsoft ist:

TCP/IP and NBT configuration parameters for Windows XP

(Dokumentation ist zwar für Win Xp, die beiden oben genannten Parameter gelten aber analog für Win 2000.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...