Freigeben über


ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Methode

Definition

Aktiviert oder deaktiviert die Keep-Alive-Option für eine TCP-Verbindung.

public:
 void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public void SetTcpKeepAlive (bool enabled, int keepAliveTime, int keepAliveInterval);
member this.SetTcpKeepAlive : bool * int * int -> unit
Public Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)

Parameter

enabled
Boolean

Wenn dieser Wert auf "true" festgelegt ist, wird die TCP-Keep-Alive-Option für eine TCP-Verbindung mithilfe der angegebenen keepAliveTime und keepAliveInterval Werte aktiviert.

Wenn dieser Wert auf "false" festgelegt ist, wird die TCP-Keep-Alive-Option deaktiviert, und die verbleibenden Parameter werden ignoriert.

Der Standardwert ist "false".

keepAliveTime
Int32

Gibt das Timeout in Millisekunden ohne Aktivität an, bis das erste Keep-Alive-Paket gesendet wird.

Der Wert muss größer als 0 sein. Wenn ein Wert kleiner oder gleich Null übergeben wird, wird ein ArgumentOutOfRangeException ausgelöst.

keepAliveInterval
Int32

Gibt das Intervall in Millisekunden an, zwischen dem aufeinander folgenden Keep-Alive-Paketen gesendet werden, wenn keine Bestätigung empfangen wird.

Der Wert muss größer als 0 sein. Wenn ein Wert kleiner oder gleich Null übergeben wird, wird ein ArgumentOutOfRangeException ausgelöst.

Ausnahmen

Der für keepAliveTime oder keepAliveInterval Parameter angegebene Wert ist kleiner oder gleich 0.

Hinweise

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

Eine Anwendung kann anfordern, dass ein TCP/IP-Anbieter die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung ermöglicht. Der Standardwert ist, dass die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung deaktiviert ist.

Die Standardeinstellungen, wenn ein TCP-Socket initialisiert wird, legt das Keep-Alive-Timeout auf 2 Stunden und das Keep-Alive-Intervall auf 1 Sekunde fest. Der parameter keepAliveTime gibt das Timeout in Millisekunden ohne Aktivität an, bis das erste Keep-Alive-Paket gesendet wird. Der parameter keepAliveInterval gibt das Intervall in Millisekunden zwischen dem Senden aufeinander folgender Keep-Alive-Pakete an, wenn keine Bestätigung empfangen wird. Die Anzahl der Keep-Alive-Sonden kann nicht geändert werden und ist auf 10 festgelegt.

Wenn eine TCP-Verbindung als Ergebnis von Keep-Alives verworfen wird, wird eine SocketError von NetworkReset an alle Aufrufe zurückgegeben, die im Socket ausgeführt werden, und alle nachfolgenden Aufrufe schlagen mit einem SocketError von NotConnectedfehl.

Gilt für: