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 будет включен с помощью указанных значений keepAliveTime
и keepAliveInterval
.
Если этот параметр имеет значение false, параметр поддержания активности TCP отключен, и остальные параметры игнорируются.
Значением по умолчанию является false.
- keepAliveTime
- Int32
Задает время ожидания в миллисекундах при отсутствии активности до отправки первого пакета поддержания активности.
Значение должно быть больше нуля. При передаче значения, меньшего или равного нулю, возникает исключение ArgumentOutOfRangeException.
- keepAliveInterval
- Int32
Задает интервал в миллисекундах между успешной отправкой пакетов поддержания активности в случае отсутствия подтверждения.
Значение должно быть больше нуля. При передаче значения, меньшего или равного нулю, возникает исключение ArgumentOutOfRangeException.
Исключения
Значение параметра keepAliveTime
или keepAliveInterval
меньше или равно 0.
Комментарии
Приложение может запросить, чтобы поставщик TCP/IP включил использование пакетов поддержания активности в TCP-подключении. По умолчанию использование пакетов поддержания активности в TCP-подключении отключено.
Параметры по умолчанию при инициализации сокета TCP устанавливают время ожидания поддержания активности в 2 часа, а интервал поддержания активности — 1 секунду. Параметр keepAliveTime
задает время ожидания (в миллисекундах) без действия до отправки первого пакета для поддержания активности. Параметр keepAliveInterval
задает интервал в миллисекундах между отправкой последовательных пакетов поддержания активности, если подтверждение не получено. Количество проб поддержания активности невозможно изменить. Для этого задано значение 10.
Если TCP-подключение будет удалено в результате поддержания активности, SocketErrorNetworkReset объект возвращается для всех вызовов, которые выполняются в сокете, и все последующие вызовы завершаются ошибкой SocketErrorNotConnectedс .