ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Povolí nebo zakáže možnost udržování v připojení 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)
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, je vyvolán ArgumentOutOfRangeException.
- 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, je vyvolán ArgumentOutOfRangeException.
Výjimky
Hodnota zadaná pro parametr keepAliveTime
nebo keepAliveInterval
je menší nebo rovna 0.
Poznámky
Opatrnost
WebRequest
, HttpWebRequest
, ServicePoint
a WebClient
jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
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, vrátí se SocketErrorNetworkReset všem probíhajícím voláním na soketu a následná volání selžou s SocketErrorNotConnected.