3 Stimmen

Wo erhält man die Spezifikation für keep-alive in Sockets in .NET?

Ich versuche, herauszufinden, wie genau keep-alive in .NET funktioniert, aber Link von aquí funktioniert nicht. Könnte jemand einen Link mit Spezifikationen posten?

Wonach ich suche:

  • Ich würde gerne wissen, wie oft die Keep-Alive-Pakete gesendet werden.

  • Muss ich KeepAlive per Befehl einstellen:

    s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);

    nur auf der Serverseite oder muss auch der Client dieses Kennzeichen setzen?

6voto

Oded Punkte 475566

Ich bin nicht sicher, ob Sie danach suchen, aber die SocketOptionName enum hat eine KeepAlive Mitglied, wie man sehen kann aquí .

Aus der Dokumentation geht hervor, dass Sie es auf diese Weise verwenden würden:

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);

2voto

Stephen Cleary Punkte 402664

Ich habe eine Bericht in meinem Blog über Keepalives. Kurze Antwort: Beide Seiten benötigen eine Art Keepalive, aber wenn Sie eine "Umfrage" von einer Seite aus starten, kann diese als Keepalive dienen. Ich empfehle außerdem, das Keepalive direkt in das Protokoll einzubauen, anstatt die Socket-Einstellung zu verwenden.

In meinem Blogeintrag gehe ich nicht sehr detailliert auf die Keepalive-Socket-Einstellung ein, da ich sie für nicht sehr nützlich halte (Einzelheiten finden Sie im Blogeintrag).

Beachten Sie, dass die "globale Registrierungseinstellung" mit Windows 2000 geändert wurde. Sie ist jetzt für jede einzelne Verbindung geändert werden. Ich empfehle es aber immer noch nicht als Keepalive (siehe meinen Blog-Beitrag für Details).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X