ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metodo

Definizione

Abilita o disabilita l'opzione keep-alive su una connessione TCP.

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)

Parametri

enabled
Boolean

Se impostato su true, l'opzione keep-alive TCP verrà abilitata su una connessione TCP tramite i valori keepAliveTimee keepAliveInterval specificati.

Se impostato su false, l'opzione keep-alive TCP viene disabilitata e i parametri restanti vengono ignorati.

Il valore predefinito è false.

keepAliveTime
Int32

Specifica il timeout in millisecondi di inattività prima dell'invio del primo pacchetto keep-alive.

Il valore deve essere maggiore di 0. Se viene passato un valore minore o uguale a zero, viene generata un'eccezione ArgumentOutOfRangeException.

keepAliveInterval
Int32

Specifica l'intervallo in millisecondi tra l'invio di pacchetti keep-alive successivi in caso non venga ricevuto alcun messaggio di riconoscimento.

Il valore deve essere maggiore di 0. Se viene passato un valore minore o uguale a zero, viene generata un'eccezione ArgumentOutOfRangeException.

Eccezioni

Il valore specificato per il parametro keepAliveTime o keepAliveInterval è minore o uguale a 0.

Commenti

Un'applicazione può richiedere che un provider TCP/IP consenta l'uso di pacchetti keep-alive in una connessione TCP. Il valore predefinito è che l'uso di pacchetti keep-alive in una connessione TCP è disabilitato.

Le impostazioni predefinite quando viene inizializzato un socket TCP imposta il timeout keep-alive su 2 ore e l'intervallo keep-alive su 1 secondo. Il keepAliveTime parametro specifica il timeout, espresso in millisecondi, senza alcuna attività finché non viene inviato il primo pacchetto keep-alive. Il keepAliveInterval parametro specifica l'intervallo, espresso in millisecondi, tra l'invio di pacchetti keep-alive successivi se non viene ricevuto alcun acknowledgement. Il numero di probe keep-alive non può essere modificato ed è impostato su 10.

Se una connessione TCP viene eliminata come risultato di keep-alive, viene restituito un SocketError di NetworkReset a tutte le chiamate in corso sul socket e tutte le chiamate successive avranno esito negativo con un SocketError di NotConnected.

Si applica a

Vedi anche