ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Включает или отключает параметр поддержания активности в 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)
Параметры
- enabled
- Boolean
Если задано значение true, параметр поддержания активности TCP в TCP-подключении будет включен с помощью указанных keepAliveTime и keepAliveInterval значений.
Если задано значение false, параметр "Сохранить в режиме жизни TCP" отключен, а остальные параметры игнорируются.
По умолчанию используется значение false.
- keepAliveTime
- Int32
Указывает время ожидания в миллисекундах без действия, пока первый пакет не будет отправлен.
Значение должно быть больше 0. Если значение меньше или равно нулю, ArgumentOutOfRangeException создается.
- keepAliveInterval
- Int32
Указывает интервал (в миллисекундах), между тем, когда последовательные пакеты постоянного хранения отправляются, если подтверждение не получено.
Значение должно быть больше 0. Если значение меньше или равно нулю, ArgumentOutOfRangeException создается.
Исключения
Значение, указанное для keepAliveTime параметра keepAliveInterval , меньше или равно 0.
Комментарии
Приложение может запросить, чтобы поставщик TCP/IP мог включить использование пакетов в tcp-подключении. Значением по умолчанию является отключение использования пакетов по протоколу TCP.
Параметры по умолчанию, когда сокет TCP инициализирован, задает время ожидания в режиме поддержания активности в 2 часа, а интервал поддержания активности — 1 секунду. Параметр keepAliveTime задает время ожидания в миллисекундах без действия до отправки первого пакета в режиме поддержания активности. Параметр keepAliveInterval задает интервал (в миллисекундах), между последовательными пакетами поддержания активности, если подтверждение не получено. Количество проб в режиме поддержания активности не может быть изменено и имеет значение 10.
Если TCP-подключение удаляется в результате поддержания активности, возвращается SocketErrorNetworkReset для всех вызовов, выполняемых в сокете, и любые последующие вызовы завершаются ошибкой SocketErrorNotConnected.
Этот метод не является потокобезопасной. Все ServicePoint созданные в то же время могут видеть частично измененные значения для tcp-хранения.
Замечание
Так как .NET 9 HttpWebRequest используется SocketsHttpHandler.ConnectCallback для задания параметров безопасности TCP в базовом сокете значения, предоставленные этому методу.