ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 keepAliveTime
e 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.