Freigeben über


ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Methode

Definition

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

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

Parameter

enabled
Boolean

Bei TRUE wird die TCP-Keep-Alive-Option für eine TCP-Verbindung mit den angegebenen keepAliveTime- und keepAliveInterval-Werten aktiviert.

Bei false 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 übergeben wird, der kleiner oder gleich 0 (null) ist, wird eine ArgumentOutOfRangeException ausgelöst.

keepAliveInterval
Int32

Gibt das Intervall, in Millisekunden, an, in dem folgende Keep-Alive-Pakete gesendet werden, wenn keine Bestätigung empfangen wird.

Der Wert muss größer als 0 sein. Wenn ein Wert übergeben wird, der kleiner oder gleich 0 (null) ist, wird eine ArgumentOutOfRangeException ausgelöst.

Ausnahmen

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

Hinweise

Eine Anwendung kann anfordern, dass ein TCP/IP-Anbieter die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung aktiviert. Standardmäßig ist die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung deaktiviert.

Die Standardeinstellungen bei der Initialisierung eines TCP-Sockets legen das Keep-Alive-Timeout auf 2 Stunden und das Keep-Alive-Intervall auf 1 Sekunde fest. Der keepAliveTime Parameter gibt das Timeout in Millisekunden ohne Aktivität an, bis das erste Keep-Alive-Paket gesendet wird. Der keepAliveInterval Parameter gibt das Intervall in Millisekunden an, zwischen dem aufeinanderfolgende Keep-Alive-Pakete gesendet werden, wenn keine Bestätigung empfangen wird. Die Anzahl der Keep-Alive-Tests kann nicht geändert werden und ist auf 10 festgelegt.

Wenn eine TCP-Verbindung als Ergebnis von Keep-Alives gelöscht wird, wird ein SocketError von NetworkReset an alle aufrufe zurückgegeben, die am Socket ausgeführt werden, und alle nachfolgenden Aufrufe schlagen mit einem von NotConnectedfehlSocketError.

Gilt für:

Weitere Informationen