Класс ExtendedSocketOptions
public final class ExtendedSocketOptions extends Object
StandardSocketOptions. Эти параметры могут зависеть от платформы.- Начиная с:
- 1.8
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final SocketOption |
IP_DONTFRAGMENT |
Отключение фрагментации IP-пакетов. |
static final SocketOption |
SO_INCOMING_NAPI_ID |
Определяет очередь приёма, через которую был получен последний входящий пакет для сокета. |
static final SocketOption |
SO_PEERCRED |
Учётные данные узла-партнёра Unix Domain. |
static final SocketOption |
TCP_KEEPCOUNT |
Максимальное количество повторных передач Keep-Alive. |
static final SocketOption |
TCP_KEEPIDLE |
Время ожидания Keep-Alive. |
static final SocketOption |
TCP_KEEPINTERVAL |
Интервал повторной передачи Keep-Alive. |
static final SocketOption |
TCP_QUICKACK |
Отключение отложенных подтверждений. |
Краткое описание методов
Подробное описание полей
TCP_QUICKACK
public static final SocketOption<Boolean> TCP_QUICKACK
Этот параметр сокета можно использовать для сокращения задержки или отключения отложенных подтверждений (ACK). Если TCP_QUICKACK включён, ACK отправляются немедленно, а не с задержкой, если она требуется при обычной работе TCP. Этот параметр не является постоянным: он лишь переключает режим TCP_QUICKACK. Последующие операции протокола TCP вновь включат или отключат режим TCP_QUICKACK в зависимости от внутренней обработки протокола и таких факторов, как истечение времени ожидания отложенного ACK и передача данных. Поэтому этот параметр необходимо устанавливать с помощью setOption после каждой операции TCP для данного сокета.
Значение этого параметра сокета — Boolean, указывающее, включён или отключён параметр. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от типа сокета и системы.
- Начиная с:
- 10
TCP_KEEPIDLE
public static final SocketOption<Integer> TCP_KEEPIDLE
Значение этого параметра сокета — Integer, задающее количество секунд бездействия до отправки проверочного пакета Keep-Alive. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от системы.
Когда параметр SO_KEEPALIVE включён, TCP проверяет соединение, бездействовавшее в течение некоторого времени. Значение периода бездействия по умолчанию зависит от системы, но обычно составляет 2 часа. Параметр TCP_KEEPIDLE позволяет задать это значение для конкретного сокета.
- Начиная с:
- 11
TCP_KEEPINTERVAL
public static final SocketOption<Integer> TCP_KEEPINTERVAL
Значение этого параметра сокета — Integer, задающее количество секунд ожидания перед повторной отправкой проверочного пакета Keep-Alive. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от системы.
Когда параметр SO_KEEPALIVE включён, TCP проверяет соединение, бездействовавшее в течение некоторого времени. Если удалённая система не отвечает на проверочный пакет Keep-Alive, TCP повторно отправляет его через некоторое время. Значение интервала повторной передачи по умолчанию зависит от системы, но обычно составляет 75 секунд. Параметр TCP_KEEPINTERVAL позволяет задать это значение для конкретного сокета.
- Начиная с:
- 11
TCP_KEEPCOUNT
public static final SocketOption<Integer> TCP_KEEPCOUNT
Значение этого параметра сокета — Integer, задающее максимальное количество отправляемых проверочных пакетов Keep-Alive. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от системы.
Когда параметр SO_KEEPALIVE включён, TCP проверяет соединение, бездействовавшее в течение некоторого времени. Если удалённая система не отвечает на проверочный пакет Keep-Alive, TCP повторно отправляет его заданное количество раз, прежде чем соединение будет считаться разорванным. Значение предельного количества повторных передач проверочных пакетов Keep-Alive по умолчанию зависит от системы, но обычно равно 8. Параметр TCP_KEEPCOUNT позволяет задать это значение для конкретного сокета.
- Начиная с:
- 11
SO_INCOMING_NAPI_ID
public static final SocketOption<Integer> SO_INCOMING_NAPI_ID
Значение этого параметра сокета — положительное Integer, идентифицирующее очередь приёма. Приложение может использовать его, чтобы распределять входящие потоки между потоками исполнения на основе идентификатора очереди. Значение равно 0, если сокет не привязан, пакет ещё не получен или, в более общем случае, если очередь приёма отсутствует. Этот параметр поддерживается как потоковыми, так и датаграммными сокетами.
Этот параметр доступен только для чтения; попытка установить его приведёт к выбросу SocketException.
- Примечание API:
- Сетевые устройства могут иметь несколько очередей или каналов для передачи и приёма сетевых пакетов. Параметр сокета
SO_INCOMING_NAPI_IDпредоставляет приложению подсказку, указывающую очередь приёма, в которую направляются входящее соединение сокета или пакеты для этого соединения. Приложение может воспользоваться этим, обрабатывая все соединения сокетов, назначенные определённой очереди, в одном потоке исполнения. - Начиная с:
- 15
SO_PEERCRED
public static final SocketOption<UnixDomainPrincipal> SO_PEERCRED
Значение этого параметра сокета — UnixDomainPrincipal, представляющее учётные данные узла-партнёра, подключённого к сокету Unix Domain. Это учётные данные, действовавшие в момент первого подключения или принятия соединения сокетом.
Этот параметр доступен только для чтения; попытка установить его приведёт к выбросу SocketException. SocketException также выбрасывается при попытке получить значение параметра сокета для неподключённого сокета Unix Domain.
- Начиная с:
- 16
IP_DONTFRAGMENT
public static final SocketOption<Boolean> IP_DONTFRAGMENT
Значение этого параметра сокета — Boolean, указывающее, включён или отключён параметр. Если true включён, фрагментация исходящих пакетов IPv4 и IPv6 не выполняется. Этот параметр можно использовать только с датаграммными сокетами. При его установке необходимо ограничивать размер исходящих пакетов значением local MTU. В зависимости от реализации и сетевого интерфейса пакеты, размер которых превышает MTU, могут быть отправлены, молча отброшены или отброшены с выбросом исключения. Для сокетов IPv6 зависимость параметра от системы определяет, применяется ли он также к датаграммам, отправляемым на адреса IPv4.
- Примечание API:
- Для IPv4 этот параметр устанавливает флаг DF (Do not Fragment, не фрагментировать) в заголовке IP-пакета. Это указывает промежуточным маршрутизаторам не фрагментировать пакет. Маршрутизаторы IPv6 никогда не фрагментируют пакеты. Фрагментация выполняется исключительно отправляющим и принимающим узлами. Установка этого параметра для сокета IPv6 гарантирует, что отправляемые пакеты никогда не будут фрагментированы; в этом случае необходимо учитывать MTU локальной сети.
- Начиная с:
- 19
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.net/jdk/net/ExtendedSocketOptions.html