Condividi tramite


ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Metodo

Definizione

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

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)

Parametri

enabled
Boolean

Se impostato su true, l'opzione keep-alive TCP in una connessione TCP verrà abilitata usando i valori di keepAliveTime e keepAliveInterval specificati.

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

Il valore predefinito è false.

keepAliveTime
Int32

Specifica il timeout, espresso in millisecondi, senza attività fino all'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 una ArgumentOutOfRangeException.

keepAliveInterval
Int32

Specifica l'intervallo, espresso in millisecondi, tra l'invio di pacchetti keep-alive successivi se non viene ricevuto alcun acknowledgement.

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

Eccezioni

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

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

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

Le impostazioni predefinite quando un socket TCP viene inizializzato imposta il timeout keep-alive su 2 ore e l'intervallo keep-alive su 1 secondo. Il parametro keepAliveTime specifica il timeout, in millisecondi, senza alcuna attività fino all'invio del primo pacchetto keep-alive. Il parametro keepAliveInterval specifica l'intervallo, espresso in millisecondi, tra quando vengono inviati 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 restituita una SocketError di NetworkReset a qualsiasi chiamata in corso sul socket e tutte le chiamate successive avranno esito negativo con un SocketError di NotConnected.

Si applica a