Класс StandardSocketOptions
public final class StandardSocketOptions extends Object
name каждого параметра сокета, определённого этим классом, совпадает с именем его поля.
В этой версии параметры сокетов, определённые здесь, используются каналами network в пакете channels.
- Начиная с:
- 1.7
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final SocketOption |
IP_MULTICAST_IF |
Сетевой интерфейс для дейтаграмм многоадресной рассылки по протоколу IP. |
static final SocketOption |
IP_MULTICAST_LOOP |
Зацикливание для дейтаграмм многоадресной рассылки по протоколу IP. |
static final SocketOption |
IP_MULTICAST_TTL |
Время жизни дейтаграмм многоадресной рассылки по протоколу IP. |
static final SocketOption |
IP_TOS |
Октет типа обслуживания (ToS) в заголовке протокола 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 |
Отключить алгоритм Нейгла. |
Краткое описание методов
Методы, объявленные в классе 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 или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени. |
Подробное описание полей
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 включён, операционная система может использовать механизм поддержания активности для периодической проверки другой стороны соединения, когда соединение в остальном бездействует. Точная семантика механизма поддержания активности зависит от системы и поэтому не определена.
Изначально этот параметр сокета имеет значение 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, равным нулю, не передаются по сети, но могут быть доставлены локально. Для сокета IPv6 параметр задаёт предел числа переходов — число переходов, которое может совершить дейтаграмма до истечения срока её действия в сети. Для сокетов 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 используется алгоритм, известный как алгоритм Нейгла, который объединяет короткие сегменты и повышает эффективность сети.
Значение этого параметра сокета по умолчанию — FALSE. Параметр следует включать только в случаях, когда известно, что объединение сегментов снижает производительность. Параметр можно включить в любое время. Иными словами, алгоритм Нейгла можно отключить. После включения параметра возможность его последующего отключения зависит от системы. Если отключить его невозможно, вызов метода setOption для отключения параметра не даст эффекта.
- Внешние спецификации
- См. также:
© 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.