Spec-Zone.ru › OpenJDK 25

Класс ExtendedSocketOptions

java.lang.Object
jdk.net.ExtendedSocketOptions
public final class ExtendedSocketOptions extends Object
Определяет расширенные параметры сокетов, помимо определённых в StandardSocketOptions. Эти параметры могут зависеть от платформы.
Начиная с:
1.8

Краткое описание полей

Модификатор и тип Поле Описание
static final SocketOption<Boolean> IP_DONTFRAGMENT
Отключение фрагментации IP-пакетов.
static final SocketOption<Integer> SO_INCOMING_NAPI_ID
Определяет очередь приёма, через которую был получен последний входящий пакет для сокета.
static final SocketOption<UnixDomainPrincipal> SO_PEERCRED
Учётные данные узла-партнёра Unix Domain.
static final SocketOption<Integer> TCP_KEEPCOUNT
Максимальное количество повторных передач Keep-Alive.
static final SocketOption<Integer> TCP_KEEPIDLE
Время ожидания Keep-Alive.
static final SocketOption<Integer> TCP_KEEPINTERVAL
Интервал повторной передачи Keep-Alive.
static final SocketOption<Boolean> TCP_QUICKACK
Отключение отложенных подтверждений.

Краткое описание методов

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

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
Время ожидания Keep-Alive.

Значение этого параметра сокета — Integer, задающее количество секунд бездействия до отправки проверочного пакета Keep-Alive. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от системы.

Когда параметр SO_KEEPALIVE включён, TCP проверяет соединение, бездействовавшее в течение некоторого времени. Значение периода бездействия по умолчанию зависит от системы, но обычно составляет 2 часа. Параметр TCP_KEEPIDLE позволяет задать это значение для конкретного сокета.

Начиная с:
11

TCP_KEEPINTERVAL

public static final SocketOption<Integer> TCP_KEEPINTERVAL
Интервал повторной передачи Keep-Alive.

Значение этого параметра сокета — Integer, задающее количество секунд ожидания перед повторной отправкой проверочного пакета Keep-Alive. Этот параметр предназначен для потоковых сокетов, использующих протокол TCP/IP. Точная семантика этого параметра зависит от системы.

Когда параметр SO_KEEPALIVE включён, TCP проверяет соединение, бездействовавшее в течение некоторого времени. Если удалённая система не отвечает на проверочный пакет Keep-Alive, TCP повторно отправляет его через некоторое время. Значение интервала повторной передачи по умолчанию зависит от системы, но обычно составляет 75 секунд. Параметр TCP_KEEPINTERVAL позволяет задать это значение для конкретного сокета.

Начиная с:
11

TCP_KEEPCOUNT

public static final SocketOption<Integer> TCP_KEEPCOUNT
Максимальное количество повторных передач Keep-Alive.

Значение этого параметра сокета — 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
Учётные данные узла-партнёра Unix Domain.

Значение этого параметра сокета — UnixDomainPrincipal, представляющее учётные данные узла-партнёра, подключённого к сокету Unix Domain. Это учётные данные, действовавшие в момент первого подключения или принятия соединения сокетом.

Этот параметр доступен только для чтения; попытка установить его приведёт к выбросу SocketException. SocketException также выбрасывается при попытке получить значение параметра сокета для неподключённого сокета Unix Domain.

Начиная с:
16

IP_DONTFRAGMENT

public static final SocketOption<Boolean> IP_DONTFRAGMENT
Отключение фрагментации IP-пакетов.

Значение этого параметра сокета — Boolean, указывающее, включён или отключён параметр. Если true включён, фрагментация исходящих пакетов IPv4 и IPv6 не выполняется. Этот параметр можно использовать только с датаграммными сокетами. При его установке необходимо ограничивать размер исходящих пакетов значением local MTU. В зависимости от реализации и сетевого интерфейса пакеты, размер которых превышает MTU, могут быть отправлены, молча отброшены или отброшены с выбросом исключения. Для сокетов IPv6 зависимость параметра от системы определяет, применяется ли он также к датаграммам, отправляемым на адреса IPv4.

Примечание API:
Для IPv4 этот параметр устанавливает флаг DF (Do not Fragment, не фрагментировать) в заголовке IP-пакета. Это указывает промежуточным маршрутизаторам не фрагментировать пакет. Маршрутизаторы IPv6 никогда не фрагментируют пакеты. Фрагментация выполняется исключительно отправляющим и принимающим узлами. Установка этого параметра для сокета IPv6 гарантирует, что отправляемые пакеты никогда не будут фрагментированы; в этом случае необходимо учитывать MTU локальной сети.
Начиная с:
19

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API