Класс ExtendedSocketOptions
public final class ExtendedSocketOptions extends Object
StandardSocketOptions. Эти параметры могут быть специфичны для платформы.- Since:
- 1.8
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final SocketOption |
IP_DONTFRAGMENT |
Отключить фрагментацию пакетов IP. |
static final SocketOption |
SO_INCOMING_NAPI_ID |
Идентифицирует очередь приема, в которой был принят последний входящий пакет для сокета. |
static final SocketOption |
SO_PEERCRED |
Удостоверения подлинности удалённого узла для Unix-доменных сокетов. |
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 включен, подтверждения отправляются немедленно, а не откладываются, если это необходимо в соответствии с обычной работой протокола TCP. Этот параметр не является постоянным, он только включает или выключает режим TCP_QUICKACK. Последующие операции протокола TCP снова отключат/включат режим TCP_QUICKACK в зависимости от внутренней обработки протокола и таких факторов, как таймауты отложенных подтверждений и передача данных, поэтому этот параметр необходимо установить с setOption после каждой операции TCP для данного сокета.
Значение этого параметра сокета — Boolean , которое представляет, включен параметр или нет. Параметр сокета специфичен для потоковых сокетов, использующих протокол TCP/IP. Точное значение этого параметра сокета зависит от типа сокета и системы.
- Since:
- 10
TCP_KEEPIDLE
public static final SocketOption<Integer> TCP_KEEPIDLE
Значение этого параметра сокета — Integer , которое представляет собой количество секунд простоя, прежде чем Keep-alive инициирует запрос. Параметр сокета специфичен для потоковых сокетов, использующих протокол TCP/IP. Точное значение этого параметра сокета зависит от системы.
Когда параметр SO_KEEPALIVE включён, TCP зондирует подключение, которое простаивает в течение некоторого времени. Значение по умолчанию для этого времени простоя зависит от системы, но обычно составляет 2 часа. Параметр TCP_KEEPIDLE может использоваться для изменения этого значения для данного сокета.
- Since:
- 11
TCP_KEEPINTERVAL
public static final SocketOption<Integer> TCP_KEEPINTERVAL
Значение этого параметра сокета — Integer , которое представляет собой количество секунд ожидания перед повторной отправкой запроса Keep-alive. Параметр сокета специфичен для потоковых сокетов, использующих протокол TCP/IP. Точное значение этого параметра сокета зависит от системы.
Когда параметр SO_KEEPALIVE включён, TCP зондирует подключение, которое простаивает в течение некоторого времени. Если удалённая система не отвечает на запрос Keep-alive, TCP повторно отправляет запрос после некоторого времени. Значение по умолчанию для этого интервала повторной передачи зависит от системы, но обычно составляет 75 секунд. Параметр TCP_KEEPINTERVAL может использоваться для изменения этого значения для данного сокета.
- Since:
- 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 может использоваться для изменения этого значения для данного сокета.
- Since:
- 11
SO_INCOMING_NAPI_ID
public static final SocketOption<Integer> SO_INCOMING_NAPI_ID
Значение этого параметра сокета — положительное Integer , которое идентифицирует очередь приема, которую приложение может использовать для разделения входящих потоков между потоками на основе идентификатора очереди. Значение равно 0 , когда сокет не привязан, пакет не был получен или, более общим образом, когда нет очереди приема для идентификации. Параметр сокета поддерживается как для потоковых, так и для дейтаграммных сокетов.
Параметр сокета является только для чтения, и попытка установить параметр сокета вызовет SocketException.
- API Note:
- Сетевые устройства могут иметь несколько очередей или каналов для передачи и приема сетевых пакетов. Параметр сокета
SO_INCOMING_NAPI_IDпредоставляет подсказку приложению, чтобы указать очередь приёма, на которую направлены входящие соединения сокета или пакеты для этого соединения. Приложение может воспользоваться этим, обрабатывая все соединения сокета, назначенные конкретной очереди, в одном потоке. - Since:
- 15
SO_PEERCRED
public static final SocketOption<UnixDomainPrincipal> SO_PEERCRED
Значение этого параметра сокета — UnixDomainPrincipal , которое представляет удостоверения подлинности удалённого узла, подключённого к Unix-доменному сокету. Удостоверения подлинности применялись в момент первого подключения или принятия сокета.
Параметр сокета является только для чтения, и попытка установить параметр сокета вызовет SocketException. SocketException также выбрасывается при попытке получить значение параметра сокета на отключённом Unix-доменном сокете.
- Since:
- 16
IP_DONTFRAGMENT
public static final SocketOption<Boolean> IP_DONTFRAGMENT
Значение этого параметра сокета — Boolean , которое представляет, включён параметр или нет. При включении true фрагментация исходящих пакетов IPv4 и IPv6 не происходит. Этот параметр может быть использован только с дейтаграммными сокетами. При установке необходимо учитывать ограничения размера исходящих пакетов до local MTU. В зависимости от реализации и сетевого интерфейса пакеты, большего размера, чем MTU, могут быть отправлены или отброшены без исключения, либо с исключением. Для сокетов IPv6 зависит от системы, применим ли параметр также к дейтаграммам, отправленным на IPv4 адреса.
- API Note:
- Для IPv4 этот параметр устанавливает флаг DF (Do not Fragment) в заголовке пакета IP. Это инструктирует промежуточные маршрутизаторы не фрагментировать пакет. Маршрутизаторы IPv6 никогда не фрагментируют пакеты. Вместо этого, фрагментация обрабатывается исключительно отправляющим и принимающим узлами. Установка этого параметра для IPv6 сокета гарантирует, что отправляемые пакеты никогда не будут фрагментированы, в этом случае локальный размер MTU должен быть соблюдён.
© 1993, 2023, 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/21/docs/api/jdk.net/jdk/net/ExtendedSocketOptions.html