ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metod

Definition

Aktiverar eller inaktiverar alternativet keep-alive på en TCP-anslutning.

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)

Parametrar

enabled
Boolean

Om värdet är true aktiveras alternativet TCP keep-alive på en TCP-anslutning med hjälp av angivna keepAliveTime värden och keepAliveInterval värden.

Om värdet är false inaktiveras alternativet TCP keep-alive och de återstående parametrarna ignoreras.

Standardvärdet är falskt.

keepAliveTime
Int32

Anger tidsgränsen, i millisekunder, utan aktivitet förrän det första keep-alive-paketet har skickats.

Värdet måste vara större än 0. Om ett värde på mindre än eller lika med noll skickas genereras ett ArgumentOutOfRangeException värde.

keepAliveInterval
Int32

Anger intervallet i millisekunder mellan när efterföljande keep-alive-paket skickas om ingen bekräftelse tas emot.

Värdet måste vara större än 0. Om ett värde på mindre än eller lika med noll skickas genereras ett ArgumentOutOfRangeException värde.

Undantag

Värdet som anges för keepAliveTime eller keepAliveInterval parametern är mindre än eller lika med 0.

Kommentarer

Ett program kan begära att en TCP/IP-provider aktiverar användning av keep-alive-paket på en TCP-anslutning. Standardvärdet är att användningen av keep-alive-paket på en TCP-anslutning är inaktiverad.

Standardinställningarna när en TCP-socket initieras anger timeouten keep-alive till 2 timmar och keep-alive-intervallet till 1 sekund. Parametern keepAliveTime anger tidsgränsen, i millisekunder, utan aktivitet förrän det första keep-alive-paketet skickas. Parametern keepAliveInterval anger intervallet i millisekunder mellan när efterföljande keep-alive-paket skickas om ingen bekräftelse tas emot. Antalet keep-alive-avsökningar kan inte ändras och är inställt på 10.

Om en TCP-anslutning tas bort till följd av keep-alives, returneras en SocketError av NetworkReset till alla pågående anrop på socketen, och eventuella efterföljande anrop misslyckas med en SocketError av NotConnected.

Den här metoden är inte trådsäker. Alla ServicePoint som skapas samtidigt kan se delvis ändrade värden för TCP keep-alive.

Note

Sedan .NET 9 använder HttpWebRequestSocketsHttpHandler.ConnectCallback för att ange alternativ för att hålla TCP vid liv på den underliggande socketen till de värden som anges i den här metoden.

Gäller för

Se även