Класс 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 |
Отключает отложенные подтверждения. |
Краткое описание методов
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому. |
protected void |
finalize() |
Устарел, будет удалён: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс среды выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание полей
TCP_QUICKACK
public static final SocketOption<Boolean> TCP_QUICKACK
Этот параметр сокета можно использовать для сокращения задержки или отключения отложенных подтверждений (ACK). Если TCP_QUICKACK включён, ACK отправляются немедленно, а не с задержкой, если она необходима в соответствии с обычной работой TCP. Этот параметр не является постоянным: он лишь переключает режим TCP_QUICKACK. Последующие операции протокола TCP снова включат или отключат режим TCP_QUICKACK в зависимости от внутренней обработки протокола и таких факторов, как истечение времени ожидания отложенного ACK и передача данных. Поэтому после каждой операции TCP для данного сокета этот параметр необходимо задавать с помощью setOption.
Значение этого параметра сокета — это 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.