Класс StandardSocketOptions
public final class StandardSocketOptions extends Object
name каждого параметра сокета, определённого этим классом, соответствует имени его поля.
В этом выпуске параметры сокета, определённые здесь, используются каналами network в пакете channels.
- Since:
- 1.7
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final SocketOption |
IP_MULTICAST_IF |
Сеть интерфейсов для многоадресных дейтаграмм протокола Internet Protocol (IP). |
static final SocketOption |
IP_MULTICAST_LOOP |
Обратный цикл для многоадресных дейтаграмм протокола Internet Protocol (IP). |
static final SocketOption |
IP_MULTICAST_TTL |
Время жизни (time-to-live) для многоадресных дейтаграмм протокола Internet Protocol (IP). |
static final SocketOption |
IP_TOS |
Байт типа службы (ToS) в заголовке Internet Protocol (IP). |
static final SocketOption |
SO_BROADCAST |
Разрешить передачу широковещательных дейтаграмм. |
static final SocketOption |
SO_KEEPALIVE |
Удерживать соединение активным. |
static final SocketOption |
SO_LINGER |
Задержка при закрытии, если присутствуют данные. |
static final SocketOption |
SO_RCVBUF |
Размер буфера приема сокета. |
static final SocketOption |
SO_REUSEADDR |
Повторное использование адреса. |
static final SocketOption |
SO_REUSEPORT |
Повторное использование порта. |
static final SocketOption |
SO_SNDBUF |
Размер буфера отправки сокета. |
static final SocketOption |
TCP_NODELAY |
Отключить алгоритм Nagle. |
Краткое описание методов
Подробное описание полей
SO_BROADCAST
public static final SocketOption<Boolean> SO_BROADCAST
Значение этого параметра сокета — Boolean, представляющее собой включение или выключение параметра. Параметр относится к сокетам, ориентированным на дейтаграммы, отправляемым на IPv4 широковещательные адреса. При включении параметра сокет можно использовать для отправки широковещательных дейтаграмм.
Начальное значение этого параметра сокета — FALSE. Параметр сокета можно включать или выключать в любое время. Некоторые операционные системы могут потребовать, чтобы виртуальная машина Java запускалась с привилегиями, специфичными для реализации, для включения этого параметра или отправки широковещательных дейтаграмм.
- Внешние спецификации
- См. также:
SO_KEEPALIVE
public static final SocketOption<Boolean> SO_KEEPALIVE
Значение этого параметра сокета — Boolean, представляющее собой включение или выключение параметра. При включении параметра SO_KEEPALIVE операционная система может использовать механизм keep-alive для периодического зондирования другого конца соединения, когда соединение в противном случае бездействует. Точная семантика механизма keep-alive зависит от системы и поэтому не определена.
Начальное значение этого параметра сокета — FALSE. Параметр сокета можно включать или выключать в любое время.
- Внешние спецификации
- См. также:
SO_SNDBUF
public static final SocketOption<Integer> SO_SNDBUF
Значение этого параметра сокета — Integer, представляющее собой размер буфера отправки сокета в байтах. Буфер отправки сокета — буфер вывода, используемый сетевой реализацией. Возможно, его потребуется увеличить для соединений с высокой пропускной способностью. Значение параметра сокета является подсказкой для реализации размера буфера, и фактический размер может отличаться. Параметр сокета можно запросить для получения фактического размера.
Для сокетов, ориентированных на дейтаграммы, размер буфера отправки может ограничивать размер дейтаграмм, которые могут отправляться сокетом. Отправка дейтаграмм, превышающих размер буфера, или их отбрасывание зависит от системы.
Начальный/по умолчанию размер буфера отправки сокета и диапазон допустимых значений зависят от системы, хотя отрицательный размер недопустим. Попытка установить буфер отправки сокета больше его максимального размера приводит к установке его на максимальный размер.
Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Возможность изменения буфера отправки сокета после привязки сокета зависит от системы.
- См. также:
SO_RCVBUF
public static final SocketOption<Integer> SO_RCVBUF
Значение этого параметра сокета — Integer, представляющее собой размер буфера приема сокета в байтах. Буфер приема сокета — буфер ввода, используемый сетевой реализацией. Его может потребоваться увеличить для соединений с высокой пропускной способностью или уменьшить, чтобы ограничить возможный запрос входящих данных. Значение параметра сокета является подсказкой для реализации размера буфера, и фактический размер может отличаться.
Для сокетов, ориентированных на дейтаграммы, размер буфера приема может ограничивать размер дейтаграмм, которые могут быть получены. Возможность получения дейтаграмм, превышающих размер буфера, зависит от системы. Увеличение буфера приема сокета может быть важным для случаев, когда дейтаграммы приходят в виде пакетов быстрее, чем могут обрабатываться.
В случае сокетов, ориентированных на потоки, и протокола TCP/IP, размер буфера приема сокета может использоваться при объявлении размера окна приема TCP удаленному узлу.
Начальный/по умолчанию размер буфера приема сокета и диапазон допустимых значений зависят от системы, хотя отрицательный размер недопустим. Попытка установить буфер приема сокета больше его максимального размера приводит к установке его на максимальный размер.
Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Возможность изменения буфера приема сокета после привязки сокета зависит от системы.
- Внешние спецификации
- См. также:
SO_REUSEADDR
public static final SocketOption<Boolean> SO_REUSEADDR
Значение этого параметра сокета — Boolean, представляющее собой включение или выключение параметра. Точная семантика этого параметра сокета зависит от типа сокета и системы.
В случае сокетов, ориентированных на потоки, этот параметр сокета обычно определяет, может ли сокет быть привязан к адресу сокета, когда предыдущее соединение, включающее этот адрес сокета, находится в состоянии TIME_WAIT. В реализациях, где семантика отличается, и включение параметра сокета не требуется для привязки сокета, когда предыдущее соединение находится в этом состоянии, реализация может игнорировать этот параметр.
Для сокетов, ориентированных на дейтаграммы, параметр сокета используется для разрешения связывания нескольких программ с одним и тем же адресом. Этот параметр следует включать, когда сокет используется для интернет-протокола (IP) многоадресной рассылки.
Реализация позволяет установить этот параметр сокета до привязки или подключения сокета. Изменение значения этого параметра сокета после привязки сокета не оказывает влияния. Значение этого параметра сокета по умолчанию зависит от системы.
- Внешние спецификации
- См. также:
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 при включении этого параметра в неблокирующем сокете не определено.
Начальное значение этого параметра сокета — отрицательное значение, означающее, что параметр выключен. Параметр можно включить или изменить интервал ожидания в любое время. Максимальное значение интервала ожидания зависит от системы. Установка интервала ожидания на значение, превышающее его максимальное значение, приводит к установке интервала ожидания на его максимальное значение.
- См. также:
IP_TOS
public static final SocketOption<Integer> IP_TOS
Значение этого параметра сокета — Integer , представляющее значение разряда ToS в пакетах IP, отправляемых сокетами на сокет IPv4. Интерпретация разряда ToS зависит от сети и не определяется этим классом. Дополнительную информацию о разряде ToS можно найти в RFC 1349 и RFC 2474. Значение параметра сокета является подсказкой. Реализация может игнорировать это значение или игнорировать определённые значения.
Начальное/стандартное значение поля TOS в разряде ToS зависит от реализации, но обычно составляет 0. Для сокетов типа дейтаграммы этот параметр может быть настроен в любое время после привязки сокета. Новое значение разряда используется при отправке последующих дейтаграмм. Зависит от системы, можно ли запросить или изменить этот параметр до привязки сокета.
Поведение этого параметра сокета для сокета потокового типа или IPv6 сокета не определено в этом выпуске.
- Внешние спецификации
- См. также:
IP_MULTICAST_IF
public static final SocketOption<NetworkInterface> IP_MULTICAST_IF
Значение этого параметра сокета — NetworkInterface, представляющее выходной интерфейс для дейтаграмм мультикаста, отправляемых сокетом типа дейтаграммы. Для сокетов IPv6, то зависит от системы, устанавливает ли этот параметр также выходной интерфейс для дейтаграмм мультикаста, отправляемых по IPv4 адресам.
Начальное/стандартное значение этого параметра сокета может быть null , чтобы указать, что выходной интерфейс будет выбран операционной системой, обычно на основе таблиц маршрутизации сети. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависит от системы, можно ли запросить или изменить параметр сокета до привязки сокета.
- См. также:
IP_MULTICAST_TTL
public static final SocketOption<Integer> IP_MULTICAST_TTL
Значение этого параметра сокета — Integer в диапазоне 0 <= value <= 255. Используется для управления областью действия отправляемых сокетом типа дейтаграммы дейтаграмм мультикаста. В случае сокета IPv4 параметр — срок службы (TTL) дейтаграмм мультикаста, отправляемых сокетом. Дейтаграммы с TTL 0 не передаются в сеть, но могут быть доставлены локально. В случае сокета IPv6 параметр — предельное количество пересылок (hop limit), которое дейтаграмма может пройти, прежде чем истечёт срок её действия в сети. Для сокетов IPv6 зависит от системы, устанавливает ли этот параметр также срок действия дейтаграмм мультикаста, отправляемых по IPv4 адресам.
Начальное/стандартное значение срока службы обычно 1. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависит от системы, можно ли запросить или изменить параметр сокета до привязки сокета.
- См. также:
IP_MULTICAST_LOOP
public static final SocketOption<Boolean> IP_MULTICAST_LOOP
Значение этого параметра сокета — Boolean , управляющее циклической обратной связью дейтаграмм мультикаста. Значение параметра сокета обозначает включение или отключение этой функции.
Точное значение этого параметра сокета зависит от системы. В частности, зависит от системы, применяется ли циклическая обратная связь к дейтаграммам мультикаста, отправляемым сокетом, или получаемым сокетом. Для сокетов IPv6, то зависит от системы, применяется ли этот параметр также к дейтаграммам мультикаста, отправляемым по IPv4 адресам.
Начальное/стандартное значение этого параметра сокета — TRUE. Реализация позволяет установить этот параметр сокета после привязки сокета. Зависит от системы, можно ли запросить или изменить параметр сокета до привязки сокета.
- См. также:
TCP_NODELAY
public static final SocketOption<Boolean> TCP_NODELAY
Значение этого параметра сокета — Boolean , обозначающее включение или выключение параметра. Параметр сокета специфичен для сокетов потокового типа, использующих протокол TCP/IP. TCP/IP использует алгоритм, известный как алгоритм Nagle, для объединения коротких сегментов и повышения эффективности сети.
Значение по умолчанию для этого параметра сокета — FALSE. Параметр сокета следует включать только в случаях, когда известно, что объединение влияет на производительность. Параметр сокета можно включить в любое время. Другими словами, алгоритм Nagle можно отключить. После включения параметра зависит от системы, можно ли его отключить. Если нет, то вызов метода setOption для отключения параметра не оказывает никакого эффекта.
- Внешние спецификации
- См. также:
© 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/java.base/java/net/StandardSocketOptions.html