ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metoda

Definicja

Włącza lub wyłącza opcję Keep-Alive połączenia TCP.Enables or disables the keep-alive option on a TCP connection.

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

W przypadku ustawienia wartości true opcja utrzymania protokołu TCP dla połączenia TCP zostanie włączona przy użyciu określonych keepAliveTime keepAliveInterval wartości i.If set to true, then the TCP keep-alive option on a TCP connection will be enabled using the specified keepAliveTime and keepAliveInterval values.

W przypadku wybrania wartości false opcja Keep-Alive protokołu TCP jest wyłączona, a pozostałe parametry zostaną zignorowane.If set to false, then the TCP keep-alive option is disabled and the remaining parameters are ignored.

Wartość domyślna to false.The default value is false.

keepAliveTime
Int32

Określa limit czasu (w milisekundach) bez aktywności do momentu wysłania pierwszego pakietu Keep-Alive.Specifies the timeout, in milliseconds, with no activity until the first keep-alive packet is sent.

Wartość musi być większa niż 0.The value must be greater than 0. Jeśli zostanie zwrócona wartość mniejsza lub równa zero ArgumentOutOfRangeException .If a value of less than or equal to zero is passed an ArgumentOutOfRangeException is thrown.

keepAliveInterval
Int32

Określa interwał (w milisekundach), po którym są wysyłane kolejne pakiety utrzymywania aktywności, jeśli nie zostanie odebrane potwierdzenie.Specifies the interval, in milliseconds, between when successive keep-alive packets are sent if no acknowledgement is received.

Wartość musi być większa niż 0.The value must be greater than 0. Jeśli zostanie zwrócona wartość mniejsza lub równa zero ArgumentOutOfRangeException .If a value of less than or equal to zero is passed an ArgumentOutOfRangeException is thrown.

Wyjątki

Wartość określona dla keepAliveTime parametru lub keepAliveInterval jest mniejsza lub równa 0.The value specified for keepAliveTime or keepAliveInterval parameter is less than or equal to 0.

Uwagi

Aplikacja może zażądać, aby Dostawca TCP/IP umożliwiał korzystanie z pakietów Keep-Alive w połączeniu TCP.An application can request that a TCP/IP provider enable the use of keep-alive packets on a TCP connection. Wartość domyślna to użycie pakietów Keep-Alive w połączeniu TCP jest wyłączone.The default is that the use of keep-alive packets on a TCP connection is disabled.

Ustawienia domyślne po zainicjowaniu gniazda TCP ustawia limit czasu utrzymywania aktywności na 2 godziny i interwał utrzymywania aktywności na 1 sekundę.The default settings when a TCP socket is initialized sets the keep-alive timeout to 2 hours and the keep-alive interval to 1 second. keepAliveTimeParametr określa limit czasu (w milisekundach) bez aktywności do momentu wysłania pierwszego pakietu utrzymywania aktywności.The keepAliveTime parameter specifies the timeout, in milliseconds, with no activity until the first keep-alive packet is sent. keepAliveIntervalParametr określa interwał (w milisekundach), po którym są wysyłane kolejne pakiety utrzymywania aktywności, jeśli nie zostanie odebrane potwierdzenie.The keepAliveInterval parameter specifies the interval, in milliseconds, between when successive keep-alive packets are sent if no acknowledgement is received. Nie można zmienić liczby sond Keep-Alive i ustawiono wartość 10.The number of keep-alive probes cannot be changed and is set to 10.

Jeśli połączenie TCP zostanie porzucone jako wynik działania Keep-Alives, SocketError NetworkReset jest zwracane do wszelkich wywołań w toku w gnieździe, a wszystkie kolejne wywołania zakończą się niepowodzeniem z SocketError NotConnected .If a TCP connection is dropped as the result of keep-alives, a SocketError of NetworkReset is returned to any calls in progress on the socket, and any subsequent calls will fail with a SocketError of NotConnected.

Dotyczy

Zobacz też