DBO Geschrieben 16. November 2005 Geschrieben 16. November 2005 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
DBO Geschrieben 16. November 2005 Autor Geschrieben 16. November 2005 Hallo, ich habe das Problem inzwischen gelöst. Zur Abwechslung war mal meine Programmierung nicht schuld, sondern 2 Registry Einträge die unter Windows 2000 gesetzt werden müssen.
bigredeyes Geschrieben 17. November 2005 Geschrieben 17. November 2005 na dann sag doch noch welche! bigredeyes
DBO Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 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.)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden