Sdílet prostřednictvím


ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metoda

Definice

Povolí nebo zakáže možnost udržování v připojení 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)

Parametry

enabled
Boolean

Pokud je nastavená hodnota true, bude možnost udržování protokolu TCP u připojení TCP povolena pomocí zadaných keepAliveTime a keepAliveInterval hodnot.

Pokud je nastavená hodnota false, možnost udržování protokolu TCP je zakázaná a zbývající parametry se ignorují.

Výchozí hodnota je false.

keepAliveTime
Int32

Určuje časový limit v milisekundách bez aktivity, dokud se neposílají první paket typu keep-alive.

Hodnota musí být větší než 0. Pokud je předána hodnota menší než nebo rovna nule, ArgumentOutOfRangeException vyvolá se vyvolá.

keepAliveInterval
Int32

Určuje interval v milisekundách, mezi kdy se po sobě jdoucí pakety s udržováním odesílají, pokud nebude přijato žádné potvrzení.

Hodnota musí být větší než 0. Pokud je předána hodnota menší než nebo rovna nule, ArgumentOutOfRangeException vyvolá se vyvolá.

Výjimky

Hodnota zadaná pro keepAliveTime nebo keepAliveInterval parametr je menší nebo rovna 0.

Poznámky

Aplikace může požádat, aby poskytovatel PROTOKOLU TCP/IP povolil použití paketů udržování v připojení TCP. Výchozí hodnota je, že použití paketů udržování na připojení TCP je zakázané.

Výchozí nastavení při inicializaci soketu TCP nastaví časový limit udržování na 2 hodiny a interval udržování na 1 sekundu. Parametr keepAliveTime určuje časový limit v milisekundách bez aktivity, dokud se neposílají první paket keep-alive. Parametr keepAliveInterval určuje interval v milisekundách, mezi kdy se po sobě jdoucí pakety keep-alive odesílají, pokud není přijato žádné potvrzení. Počet sond udržování naživu nelze změnit a je nastaven na hodnotu 10.

Pokud se připojení TCP zahodí v důsledku zachování naživu, SocketError vrátí se k NetworkReset jakýmkoli probíhajícím voláním na soketu a následná volání selžou s chybou NotConnectedSocketError .

Tato metoda není bezpečná pro přístup z více vláken. Všechny ServicePoint vytvořené ve stejnou dobu můžou vidět částečně změněné hodnoty pro udržování protokolu TCP.

Poznámka:

Vzhledem k tomu, rozhraní .NET 9, HttpWebRequest používá SocketsHttpHandler.ConnectCallback k nastavení možností udržování protokolu TCP v podkladovém soketu na hodnoty poskytnuté touto metodou.

Platí pro

Viz také