Udostępnij za pośrednictwem


ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Metoda

Definicja

Włącza lub wyłącza opcję zachowania aktywności w połączeniu 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

W przypadku ustawienia wartości true opcja zachowaj żywość protokołu TCP w połączeniu TCP zostanie włączona przy użyciu określonych wartości keepAliveTime i keepAliveInterval.

Jeśli ustawiono wartość false, opcja utrzymywania aktywności protokołu TCP jest wyłączona, a pozostałe parametry są ignorowane.

Wartość domyślna to false.

keepAliveTime
Int32

Określa limit czasu (w milisekundach) bez działania do momentu wysłania pierwszego pakietu keep-alive.

Wartość musi być większa niż 0. Jeśli zostanie przekazana wartość mniejsza niż lub równa zero, zostanie zwrócona ArgumentOutOfRangeException.

keepAliveInterval
Int32

Określa interwał (w milisekundach) między kolejnymi pakietami utrzymania aktywności wysyłanymi, jeśli nie otrzymano potwierdzenia.

Wartość musi być większa niż 0. Jeśli zostanie przekazana wartość mniejsza niż lub równa zero, zostanie zwrócona ArgumentOutOfRangeException.

Wyjątki

Wartość określona dla parametru keepAliveTime lub keepAliveInterval jest mniejsza lub równa 0.

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

Aplikacja może zażądać, aby dostawca TCP/IP włączył korzystanie z pakietów keep-alive w połączeniu TCP. Ustawieniem domyślnym jest to, że korzystanie z pakietów utrzymywania aktywności w połączeniu TCP jest wyłączone.

Ustawienia domyślne, gdy gniazdo TCP jest inicjowane, ustawia limit czasu utrzymania aktywności na 2 godziny, a interwał utrzymania aktywności na 1 sekundę. Parametr keepAliveTime określa limit czasu (w milisekundach) bez działania do momentu wysłania pierwszego pakietu keep-alive. Parametr keepAliveInterval określa interwał (w milisekundach) między kolejnymi pakietami utrzymania aktywności są wysyłane, jeśli nie otrzymano potwierdzenia. Nie można zmienić liczby sond utrzymywania aktywności i jest ustawiona na 10.

Jeśli połączenie TCP zostanie porzucone w wyniku zachowania aktywności, SocketErrorNetworkReset zostanie zwrócony do wszystkich wywołań w toku w gniazdie, a wszystkie kolejne wywołania nie powiedzą się z SocketErrorNotConnected.

Dotyczy