Spec-Zone.ru › OpenJDK 17

Класс StandardSocketOptions

java.lang.Object
java.net.StandardSocketOptions
public final class StandardSocketOptions extends Object
Определяет стандартные параметры сокета.

Имя name каждого параметра сокета, определённого в этом классе, является именем его поля.

В этом релизе параметры сокета, определённые здесь, используются каналами network в пакете channels.

Since:
1.7

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

Модификатор и тип Поле Описание
static final SocketOption<NetworkInterface> IP_MULTICAST_IF
Сеть интерфейсов для мультиадресных дейтаграмм Интернет-протокола (IP).
static final SocketOption<Boolean> IP_MULTICAST_LOOP
Петля обратной связи для мультиадресных дейтаграмм Интернет-протокола (IP).
static final SocketOption<Integer> IP_MULTICAST_TTL
Время жизни для мультиадресных дейтаграмм Интернет-протокола (IP).
static final SocketOption<Integer> IP_TOS
Байт типа обслуживания (ToS) в заголовке Интернет-протокола (IP).
static final SocketOption<Boolean> SO_BROADCAST
Разрешить передачу широковещательных дейтаграмм.
static final SocketOption<Boolean> SO_KEEPALIVE
Поддерживать соединение активным.
static final SocketOption<Integer> SO_LINGER
Задержка при закрытии, если данные присутствуют.
static final SocketOption<Integer> SO_RCVBUF
Размер буфера приема сокета.
static final SocketOption<Boolean> SO_REUSEADDR
Повторное использование адреса.
static final SocketOption<Boolean> SO_REUSEPORT
Повторное использование порта.
static final SocketOption<Integer> SO_SNDBUF
Размер буфера отправки сокета.
static final SocketOption<Boolean> TCP_NODELAY
Отключение алгоритма Nagle.

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

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

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

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

SO_BROADCAST

public static final SocketOption<Boolean> SO_BROADCAST
Разрешить передачу широковещательных дейтаграмм.

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

Начальное значение этого параметра сокета — FALSE. Параметр сокета можно включать или отключать в любое время. Некоторые операционные системы могут потребовать, чтобы виртуальная машина Java запускалась со специфичными для реализации привилегиями для включения этого параметра или отправки широковещательных дейтаграмм.

См. также:
  • RFC 929: Широковещательная рассылка интернет-дейтаграмм
  • DatagramSocket.setBroadcast(boolean)

SO_KEEPALIVE

public static final SocketOption<Boolean> SO_KEEPALIVE
Поддерживать соединение активным.

Значение этого параметра сокета — Boolean, которое указывает, включён ли параметр или выключен. Если параметр SO_KEEPALIVE включен, операционная система может использовать механизм keep-alive для периодического зондирования другого конца соединения, когда соединение в противном случае бездействует. Точные семантики механизма keep-alive зависят от системы и поэтому не определены.

Начальное значение этого параметра сокета — FALSE. Параметр сокета можно включать или отключать в любое время.

См. также:
  • RFC 1122 Требования к интернет-хостам — Слой коммуникаций
  • Socket.setKeepAlive(boolean)

SO_SNDBUF

public static final SocketOption<Integer> SO_SNDBUF
Размер буфера отправки сокета.

Значение этого параметра сокета — Integer, представляющее размер буфера отправки сокета в байтах. Буфер отправки сокета — это буфер вывода, используемый реализацией сетевого стека. Возможно, его потребуется увеличить для соединений с большим объёмом данных. Значение параметра сокета — подсказка для реализации для настройки размера буфера, и фактический размер может отличаться. Параметр сокета можно запросить, чтобы получить фактический размер.

Для сокетов, ориентированных на дейтаграммы, размер буфера отправки может ограничивать размер дейтаграмм, которые может отправлять сокет. То, отправляются ли дейтаграммы, превышающие размер буфера, или отбрасываются, зависит от системы.

Начальный/по умолчанию размер буфера отправки сокета и диапазон допустимых значений зависят от системы, хотя отрицательный размер недопустим. Попытка установить буфер отправки сокета больше, чем его максимальный размер, приводит к установке его на максимальный размер.

Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Возможность изменения буфера отправки сокета после привязки сокета зависит от системы.

См. также:
  • Socket.setSendBufferSize(int)

SO_RCVBUF

public static final SocketOption<Integer> SO_RCVBUF
Размер буфера приема сокета.

Значение этого параметра сокета — Integer, представляющее размер буфера приема сокета в байтах. Буфер приема сокета — это буфер ввода, используемый реализацией сетевого стека. Его можно увеличить для соединений с большим объёмом данных или уменьшить для ограничения возможного резерва входящих данных. Значение параметра сокета — подсказка для реализации для настройки размера буфера, и фактический размер может отличаться.

Для сокетов, ориентированных на дейтаграммы, размер буфера приема может ограничивать размер дейтаграмм, которые могут быть приняты. То, могут ли приниматься дейтаграммы, превышающие размер буфера, зависит от системы. Увеличение буфера приема сокета может быть важным для случаев, когда дейтаграммы прибывают группами быстрее, чем могут обрабатываться.

В случае сокетов, ориентированных на потоки, и протокола TCP/IP, размер буфера приема сокета может использоваться при объявлении размера TCP-окна приёма удалённому узлу.

Начальный/по умолчанию размер буфера приема сокета и диапазон допустимых значений зависят от системы, хотя отрицательный размер недопустим. Попытка установить буфер приема сокета больше, чем его максимальный размер, приводит к установке его на максимальный размер.

Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Возможность изменения буфера приема сокета после привязки сокета зависит от системы.

См. также:
  • RFC 1323: Расширения TCP для высокой производительности
  • Socket.setReceiveBufferSize(int)
  • ServerSocket.setReceiveBufferSize(int)

SO_REUSEADDR

public static final SocketOption<Boolean> SO_REUSEADDR
Использовать адрес повторно.

Значение этого параметра сокета — Boolean, которое указывает, включен ли параметр или выключен. Точные семантики этого параметра сокета зависят от типа сокета и системы.

В случае сокетов, ориентированных на потоки, этот параметр сокета обычно определяет, можно ли привязать сокет к адресу сокета, когда предыдущее соединение, использующее этот адрес сокета, находится в состоянии TIME_WAIT. В реализациях, где семантики отличаются, и не требуется, чтобы параметр сокета был включён для привязки сокета, когда предыдущее соединение находится в этом состоянии, реализация может игнорировать этот параметр.

Для сокетов, ориентированных на дейтаграммы, параметр сокета используется для разрешения привязки нескольких программ к одному адресу. Этот параметр следует включать, когда сокет используется для интернет-протокола (IP) мультивещания.

Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Изменение значения этого параметра сокета после привязки сокета не оказывает влияния. Значение параметра сокета по умолчанию зависит от системы.

См. также:
  • RFC 793: Протокол управления передачей
  • ServerSocket.setReuseAddress(boolean)

SO_REUSEPORT

public static final SocketOption<Boolean> SO_REUSEPORT
Использовать порт повторно.

Значение этого параметра сокета — Boolean, которое указывает, включен ли параметр или выключен. Точные семантики этого параметра сокета зависят от типа сокета и системы.

В случае сокетов, ориентированных на потоки, этот параметр сокета обычно позволяет привязывать несколько прослушивающих сокетов к одному и тому же адресу и порту.

Для сокетов, ориентированных на дейтаграммы, параметр сокета обычно позволяет привязывать несколько UDP-сокетов к одному и тому же адресу и порту.

Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Изменение значения этого параметра сокета после привязки сокета не оказывает влияния.

С момента:
9

SO_LINGER

public static final SocketOption<Integer> SO_LINGER
Задержаться при закрытии, если данные присутствуют.

Значение этого параметра сокета — Integer, которое управляет действием, выполняемым, когда неотправленные данные находятся в очереди на сокете, и вызывается метод закрытия сокета. Если значение параметра сокета равно нулю или больше, оно представляет собой значение тайм-аута в секундах, известное как интервал ожидания. Интервал ожидания — это тайм-аут для метода close, чтобы блокироваться, пока операционная система пытается передать неотправленные данные или принимает решение, что не может передать данные. Если значение параметра сокета меньше нуля, параметр отключен. В этом случае метод close не ожидает, пока неотправленные данные будут переданы; если возможно, операционная система передаст любые неотправленные данные до закрытия соединения.

Этот параметр сокета предназначен для использования с сокетами, которые настроены в режиме blocking только. Поведение метода close при включении этого параметра в неблокирующий сокет не определено.

Начальное значение этого параметра сокета — отрицательное значение, означающее, что параметр отключен. Параметр может быть включен или интервал ожидания изменён в любое время. Максимальное значение интервала ожидания зависит от системы. Установка интервала ожидания на значение, превышающее максимальное значение, приводит к установке интервала ожидания на максимальное значение.

См. также:
  • Socket.setSoLinger(boolean, int)

IP_TOS

public static final SocketOption<Integer> IP_TOS
Байт типа обслуживания (ToS) в заголовке интернет-протокола (IP).

Значение этого параметра сокета — Integer, представляющее значение байта ToS в пакетах IP, отправляемых сокетами в IPv4 сокет. Интерпретация байта ToS зависит от сети и не определена этим классом. Дополнительную информацию о байте ToS можно найти в RFC 1349 и RFC 2474. Значение параметра сокета — подсказка. Реализация может игнорировать значение или игнорировать определённые значения.

Начальное/по умолчанию значение поля TOS в байте ToS специфично для реализации, но обычно равно 0. Для сокетов, ориентированных на дейтаграммы, параметр может быть настроен в любое время после привязки сокета. Новое значение байта используется при отправке последующих дейтаграмм. То, может ли этот параметр быть запрошен или изменён до привязки сокета, зависит от системы.

Поведение этого параметра сокета в сокете, ориентированном на потоки, или IPv6 сокете, не определено в этом релизе.

См. также:
  • DatagramSocket.setTrafficClass(int)

IP_MULTICAST_IF

public static final SocketOption<NetworkInterface> IP_MULTICAST_IF
Интерфейс сети для дейтаграмм интернет-протокола (IP) в режиме многоадресной рассылки.

Значение этого параметра сокета — это NetworkInterface, который представляет собой выходной интерфейс для дейтаграмм многоадресной рассылки, отправляемых сокетом ориентированного на дейтаграммы. Для сокетов IPv6 зависимость от системы, устанавливает ли этот параметр также выходной интерфейс для дейтаграмм многоадресной рассылки, отправленных на адреса IPv4.

Начальное/стандартное значение этого параметра сокета может быть null для указания того, что операционная система выберет выходной интерфейс, как правило, на основе таблиц маршрутизации сети. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависимость от системы, можно ли запросить или изменить параметр сокета до привязки сокета.

См. также:
  • MulticastChannel

IP_MULTICAST_TTL

public static final SocketOption<Integer> IP_MULTICAST_TTL
Время жизни для дейтаграмм интернет-протокола (IP) в режиме многоадресной рассылки.

Значение этого параметра сокета — это Integer в диапазоне 0 <= value <= 255. Оно используется для управления областью действия дейтаграмм многоадресной рассылки, отправляемых сокетом ориентированного на дейтаграммы. В случае сокета IPv4 параметр — время жизни (TTL) для дейтаграмм многоадресной рассылки, отправляемых сокетом. Дейтаграммы с TTL 0 не передаются в сеть, но могут быть переданы локально. В случае сокета IPv6 параметр — это предел переходов (hop limit), число переходов, которые может пройти дейтаграмма, прежде чем истечёт срок её действия в сети. Для сокетов IPv6, зависимость от системы, устанавливает ли параметр также время жизни для дейтаграмм многоадресной рассылки, отправленных на адреса IPv4.

Начальное/стандартное значение параметра времени жизни обычно 1. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависимость от системы, можно ли запросить или изменить параметр сокета до привязки сокета.

См. также:
  • MulticastChannel
  • MulticastSocket.setTimeToLive(int)

IP_MULTICAST_LOOP

public static final SocketOption<Boolean> IP_MULTICAST_LOOP
Обратная связь для дейтаграмм интернет-протокола (IP) в режиме многоадресной рассылки.

Значение этого параметра сокета — это Boolean, которое контролирует обратную связь дейтаграмм многоадресной рассылки. Значение параметра сокета представляет собой включение или выключение опции.

Точное значение этого параметра сокета зависит от системы. В частности, зависимость от системы, применяется ли обратная связь к дейтаграммам многоадресной рассылки, отправленным от сокета, или полученным сокетом. Для сокетов IPv6 зависимость от системы, применяется ли опция также к дейтаграммам многоадресной рассылки, отправленным на адреса IPv4.

Начальное/стандартное значение этого параметра сокета — TRUE. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависимость от системы, можно ли запросить или изменить параметр сокета до привязки сокета.

См. также:
  • MulticastChannel

TCP_NODELAY

public static final SocketOption<Boolean> TCP_NODELAY
Отключение алгоритма Nagle.

Значение этого параметра сокета — это Boolean, которое указывает, включена или выключена опция. Этот параметр сокета относится к сокетам ориентированным на потоки, использующим протокол TCP/IP. TCP/IP использует алгоритм, известный как алгоритм Nagle, для объединения коротких сегментов и повышения эффективности сети.

Значение параметра по умолчанию — FALSE. Параметр сокета следует включать только в тех случаях, когда известно, что объединение влияет на производительность. Параметр сокета можно включать в любое время. Другими словами, алгоритм Nagle можно отключить. После включения опции, зависимость от системы, можно ли её отключить. Если нет, то вызов метода setOption для отключения опции не окажет никакого влияния.

См. также:
  • RFC 1122: Требования к хостам Интернета — уровни коммуникации
  • Socket.setTcpNoDelay(boolean)

© 1993, 2021, 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/17/docs/api/java.base/java/net/StandardSocketOptions.html

Spec-Zone.ru

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