Класс 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 |
Отключение задержки подтверждения (Delayed Acknowledgements). |
Краткое описание методов
Подробное описание полей
TCP_QUICKACK
public static final SocketOption<Boolean> TCP_QUICKACK
Этот параметр сокета может быть использован для уменьшения или отключения задержки подтверждения (ACK). Когда TCP_QUICKACK включен, ACK отправляются немедленно, а не с задержкой, как это обычно происходит в работе 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 сети.
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/jdk.net/jdk/net/ExtendedSocketOptions.html