Spec-Zone.ru › OpenJDK 27

Класс ServerSocket

java.lang.Object
java.net.ServerSocket
Все реализуемые интерфейсы:
Closeable, AutoCloseable
Прямые известные подклассы:
SSLServerSocket
public class ServerSocket extends Object implements Closeable
Этот класс реализует серверные сокеты. Серверный сокет ожидает поступления запросов по сети. Он выполняет некоторые операции на основе этого запроса и затем, возможно, возвращает результат отправителю запроса.

Фактическую работу серверного сокета выполняет экземпляр класса SocketImpl.

Класс ServerSocket определяет удобные методы для установки и получения нескольких параметров сокета. Этот класс также определяет методы setOption и getOption для установки и получения параметров сокета. ServerSocket поддерживает следующие параметры:

Параметры сокета
Имя параметра Описание
SO_RCVBUF Размер буфера приёма сокета
SO_REUSEADDR Повторное использование адреса
Также могут поддерживаться дополнительные параметры (зависящие от реализации).
Начиная с:
1.0
См. также:
  • SocketImpl
  • ServerSocketChannel

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

ServerSocket()
ServerSocket(int port)
ServerSocket(int port, int backlog)
ServerSocket(int port, int backlog, InetAddress bindAddr)
ServerSocket(SocketImpl impl)
Модификатор Конструктор Описание
Создаёт непривязанный серверный сокет.
Создаёт серверный сокет, привязанный к указанному порту.
Создаёт серверный сокет и привязывает его к указанному локальному номеру порта с указанной длиной очереди запросов.
Создаёт сервер с указанным портом, длиной очереди запросов и локальным IP-адресом для привязки.
protected
Создаёт серверный сокет с заданным пользователем SocketImpl.

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

Модификатор и тип Метод Описание
Socket accept()
Ожидает подключения к этому сокету и принимает его.
void bind(SocketAddress endpoint)
Привязывает ServerSocket к определённому адресу (IP-адресу и номеру порта).
void bind(SocketAddress endpoint, int backlog)
Привязывает ServerSocket к определённому адресу (IP-адресу и номеру порта).
void close()
Закрывает этот сокет.
ServerSocketChannel getChannel()
Возвращает связанный с этим сокетом уникальный объект ServerSocketChannel, если он существует.
InetAddress getInetAddress()
Возвращает локальный адрес этого серверного сокета.
int getLocalPort()
Возвращает номер порта, на котором этот сокет ожидает подключения.
SocketAddress getLocalSocketAddress()
Возвращает адрес конечной точки, к которой привязан этот сокет.
<T> T getOption(SocketOption<T> name)
Возвращает значение параметра сокета.
int getReceiveBufferSize()
Получает значение параметра SO_RCVBUF для этого ServerSocket, то есть предполагаемый размер буфера, который будет использоваться для сокетов, принимаемых этим ServerSocket.
boolean getReuseAddress()
Проверяет, включён ли параметр SO_REUSEADDR.
int getSoTimeout()
Получает значение параметра SO_TIMEOUT. Возврат значения 0 означает, что параметр отключён (то есть тайм-аут не ограничен).
protected final void implAccept(Socket s)
Подклассы ServerSocket используют этот метод, чтобы переопределить accept() и возвращать собственный подкласс сокета.
boolean isBound()
Возвращает состояние привязки ServerSocket.
boolean isClosed()
Возвращает состояние закрытия ServerSocket.
<T> ServerSocket setOption(SocketOption<T> name, T value)
Устанавливает значение параметра сокета.
void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Этот метод предназначался для поддержки протоколов, которые теперь устарели.
void setReceiveBufferSize(int size)
Задаёт предполагаемое значение по умолчанию для параметра SO_RCVBUF сокетов, принимаемых этим ServerSocket.
void setReuseAddress(boolean on)
Включает или отключает параметр сокета SO_REUSEADDR.
static void setSocketFactory(SocketImplFactory fac)
Устарело.
Используйте ServerSocketFactory и напрямую создайте подкласс ServerSocket.
void setSoTimeout(int timeout)
Включает или отключает SO_TIMEOUT с указанным тайм-аутом в миллисекундах.
Set<SocketOption<?>> supportedOptions()
Возвращает набор параметров сокета, поддерживаемых этим серверным сокетом.
String toString()
Возвращает адрес реализации и порт реализации этого сокета в виде String.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения указанного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения указанного промежутка времени.

Подробное описание конструкторов

ServerSocket

protected ServerSocket(SocketImpl impl)
Создает серверный сокет с заданным пользователем SocketImpl.
Параметры:
impl — экземпляр SocketImpl, используемый в ServerSocket.
Исключения:
NullPointerException — если impl равен null.
Начиная с:
12

ServerSocket

public ServerSocket() throws IOException
Создает несвязанный серверный сокет.
Исключения:
IOException — ошибка ввода-вывода при открытии сокета.

ServerSocket

public ServerSocket(int port) throws IOException
Создает серверный сокет, связанный с указанным портом. Номер порта 0 означает, что номер порта назначается автоматически, обычно из диапазона эфемерных портов. Этот номер порта можно получить, вызвав getLocalPort.

Максимальная длина очереди запросов на входящие соединения устанавливается равной 50. Если запрос на соединение поступает, когда очередь заполнена, соединение отклоняется.

Если приложение указало фабрику реализации серверных сокетов, для создания фактической реализации сокета вызывается метод createSocketImpl этой фабрики. В противном случае создается системная реализация сокета по умолчанию.

Параметры:
port — номер порта или 0, если нужно использовать номер порта, назначаемый автоматически.
Исключения:
IOException — если при открытии сокета возникает ошибка ввода-вывода.
IllegalArgumentException — если параметр порта находится вне указанного диапазона допустимых значений портов от 0 до 65535 включительно.

ServerSocket

public ServerSocket(int port, int backlog) throws IOException
Создает серверный сокет и связывает его с указанным локальным номером порта, задавая указанную длину очереди. Номер порта 0 означает, что номер порта назначается автоматически, обычно из диапазона эфемерных портов. Этот номер порта можно получить, вызвав getLocalPort.

Максимальная длина очереди запросов на входящие соединения устанавливается равной значению параметра backlog. Если запрос на соединение поступает, когда очередь заполнена, соединение отклоняется.

Если приложение указало фабрику реализации серверных сокетов, для создания фактической реализации сокета вызывается метод createSocketImpl этой фабрики. В противном случае создается системная реализация сокета по умолчанию. Аргумент backlog задает запрошенное максимальное количество ожидающих соединений для сокета. Его точная семантика зависит от реализации. В частности, реализация может установить максимальную длину или полностью проигнорировать параметр. Указанное значение должно быть больше 0. Если оно меньше или равно 0, будет использовано значение по умолчанию, зависящее от реализации.

Параметры:
port — номер порта или 0, если нужно использовать номер порта, назначаемый автоматически.
backlog — запрошенная максимальная длина очереди входящих соединений.
Исключения:
IOException — если при открытии сокета возникает ошибка ввода-вывода.
IllegalArgumentException — если параметр порта находится вне указанного диапазона допустимых значений портов от 0 до 65535 включительно.

ServerSocket

public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
Создает сервер с указанными портом, длиной очереди ожидающих соединений и локальным IP-адресом для привязки. Аргумент bindAddr можно использовать на многосетевом узле для ServerSocket, который будет принимать запросы на соединение только по одному из своих адресов. Если bindAddr равен null, по умолчанию соединения будут приниматься по всем локальным адресам. Порт должен находиться в диапазоне от 0 до 65535 включительно. Номер порта 0 означает, что номер порта назначается автоматически, обычно из диапазона эфемерных портов. Этот номер порта можно получить, вызвав getLocalPort. Аргумент backlog задает запрошенное максимальное количество ожидающих соединений для сокета. Его точная семантика зависит от реализации. В частности, реализация может установить максимальную длину или полностью проигнорировать параметр. Указанное значение должно быть больше 0. Если оно меньше или равно 0, будет использовано значение по умолчанию, зависящее от реализации.
Параметры:
port — номер порта или 0, если нужно использовать номер порта, назначаемый автоматически.
backlog — запрошенная максимальная длина очереди входящих соединений.
bindAddr — локальный InetAddress, с которым будет связан сервер
Исключения:
IOException — если при открытии сокета возникает ошибка ввода-вывода.
IllegalArgumentException — если параметр порта находится вне указанного диапазона допустимых значений портов от 0 до 65535 включительно.
Начиная с:
1.1

Подробное описание методов

bind

public void bind(SocketAddress endpoint) throws IOException
Связывает ServerSocket с определенным адресом (IP-адресом и номером порта).

Если адрес равен null, система выберет эфемерный порт и допустимый локальный адрес для привязки сокета.

Параметры:
endpoint — IP-адрес и номер порта для привязки.
Исключения:
IOException — если операция привязки завершается с ошибкой, сокет уже связан или закрыт.
IllegalArgumentException — если endpoint является подклассом SocketAddress, который не поддерживается этим сокетом
Начиная с:
1.4

bind

public void bind(SocketAddress endpoint, int backlog) throws IOException
Связывает ServerSocket с определенным адресом (IP-адресом и номером порта).

Если адрес равен null, система выберет эфемерный порт и допустимый локальный адрес для привязки сокета.

Аргумент backlog задает запрошенное максимальное количество ожидающих соединений для сокета. Его точная семантика зависит от реализации. В частности, реализация может установить максимальную длину или полностью проигнорировать параметр. Указанное значение должно быть больше 0. Если оно меньше или равно 0, будет использовано значение по умолчанию, зависящее от реализации.

Параметры:
endpoint — IP-адрес и номер порта для привязки.
backlog — запрошенная максимальная длина очереди входящих соединений.
Исключения:
IOException — если операция привязки завершается с ошибкой, сокет уже связан или закрыт.
IllegalArgumentException — если endpoint является подклассом SocketAddress, который не поддерживается этим сокетом
Начиная с:
1.4

getInetAddress

public InetAddress getInetAddress()
Возвращает локальный адрес этого серверного сокета.

Если сокет был связан до вызова closed, этот метод продолжит возвращать локальный адрес и после закрытия сокета.

Возвращает:
адрес, с которым связан этот сокет, или null, если сокет не связан.

getLocalPort

public int getLocalPort()
Возвращает номер порта, на котором этот сокет ожидает подключения.

Если сокет был связан до вызова closed, этот метод продолжит возвращать номер порта и после закрытия сокета.

Возвращает:
номер порта, на котором этот сокет ожидает подключения, или -1, если сокет еще не связан.

getLocalSocketAddress

public SocketAddress getLocalSocketAddress()
Возвращает адрес конечной точки, с которой связан этот сокет.

Если сокет был связан до вызова closed, этот метод продолжит возвращать адрес конечной точки и после закрытия сокета.

Возвращает:
SocketAddress, представляющий локальную конечную точку этого сокета, или null, если сокет еще не связан.
Начиная с:
1.4
См. также:
  • getInetAddress()
  • getLocalPort()
  • bind(SocketAddress)

accept

public Socket accept() throws IOException
Ожидает подключения к этому сокету и принимает его. Метод блокируется до установления соединения.

Этот метод может быть прерван в следующих случаях:

  1. Сокет связан с ServerSocketChannel. В этом случае прерывание потока, ожидающего подключения, закроет базовый канал и приведет к тому, что метод выбросит ClosedByInterruptException, установив для потока статус прерывания.
  2. Сокет использует системную реализацию по умолчанию, а подключение принимает виртуальный поток. В этом случае прерывание виртуального потока приведет к его пробуждению и закрытию сокета. Затем этот метод выбросит SocketException, установив для потока статус прерывания.
Примечание по реализации:
Экземпляр этого класса, использующий системную реализацию SocketImpl по умолчанию, принимает сокеты с SocketImpl того же типа независимо от того, была ли задана фабрика реализации клиентских сокетов.
Возвращает:
новый Socket
Исключения:
IOException — если при ожидании подключения возникает ошибка ввода-вывода, сокет не связан или закрыт.
SocketTimeoutException — если ранее был задан тайм-аут с помощью setSoTimeout и он истек.
IllegalBlockingModeException — если с этим сокетом связан канал, канал работает в неблокирующем режиме и нет готового к приему соединения

implAccept

protected final void implAccept(Socket s) throws IOException
Подклассы ServerSocket используют этот метод для переопределения accept() и возврата собственного подкласса сокета. Например, FooServerSocket обычно передает этому методу только что созданный несвязанный FooSocket. После возврата из implAccept FooSocket будет подключен к клиенту.

Поведение этого метода не определено, если он вызван с сокетом, который не является только что созданным и несвязанным. Параметры сокета, заданные до вызова этого метода, могут как сохраниться, так и не сохраниться при принятии соединения. Принять соединение может быть невозможно, если у этого сокета SocketImpl одного типа, а у переданного сокета SocketImpl совершенно другого типа.

Примечание по реализации:
Экземпляр этого класса, использующий системную реализацию SocketImpl по умолчанию, может принять соединение с Socket, использующим SocketImpl того же типа: если Socket использует пользовательскую реализацию SocketImpl, выбрасывается IOException. Экземпляр этого класса, использующий пользовательскую реализацию SocketImpl, не может принять соединение с Socket, использующим системную реализацию SocketImpl по умолчанию.
Параметры:
s — Socket
Исключения:
IllegalBlockingModeException — если с этим сокетом связан канал, работающий в неблокирующем режиме
IOException — если при ожидании подключения возникает ошибка ввода-вывода или если этот сокет не может принять соединение с переданным сокетом
Начиная с:
1.1

close

public void close() throws IOException
Закрывает этот сокет. Любой поток, заблокированный в accept(), выбросит SocketException.

Если с этим сокетом связан канал, он также закрывается.

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

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Исключения:
IOException — если при закрытии сокета возникает ошибка ввода-вывода.

getChannel

public ServerSocketChannel getChannel()
Возвращает связанный с этим сокетом уникальный объект ServerSocketChannel, если он имеется.

Серверный сокет имеет канал тогда и только тогда, когда сам канал был создан с помощью метода ServerSocketChannel.open.

Возвращает:
канал серверного сокета, связанный с этим сокетом, или null, если этот сокет был создан не для канала
Начиная с:
1.4

isBound

public boolean isBound()
Возвращает состояние привязки ServerSocket.

Если сокет был связан до вызова close, этот метод продолжит возвращать true и после закрытия сокета.

Возвращает:
true, если ServerSocket успешно связан с адресом
Начиная с:
1.4

isClosed

public boolean isClosed()
Возвращает состояние ServerSocket — закрыт ли он.
Возвращает:
true, если сокет закрыт
Начиная с:
1.4

setSoTimeout

public void setSoTimeout(int timeout) throws SocketException
Включает или отключает SO_TIMEOUT, задавая тайм-аут в миллисекундах. Если для этого параметра задано положительное значение тайм-аута, вызов accept() для этого ServerSocket будет блокироваться только в течение указанного времени. Если время ожидания истечет, будет выброшено SocketTimeoutException, однако ServerSocket останется действительным. Нулевой тайм-аут означает бесконечное ожидание. Параметр должен быть включен до начала блокирующей операции, чтобы он подействовал.
Параметры:
timeout — заданный тайм-аут в миллисекундах
Исключения:
SocketException — если в нижележащем протоколе произошла ошибка, например ошибка TCP, или сокет закрыт.
IllegalArgumentException — если timeout отрицательно
Начиная с:
1.1
См. также:
  • getSoTimeout()

getSoTimeout

public int getSoTimeout() throws IOException
Возвращает значение параметра SO_TIMEOUT. Возвращаемое значение 0 означает, что параметр отключен (то есть тайм-аут бесконечен).
Возвращает:
значение SO_TIMEOUT
Исключения:
IOException — если возникает ошибка ввода-вывода или сокет закрыт.
Начиная с:
1.1
См. также:
  • setSoTimeout(int)

setReuseAddress

public void setReuseAddress(boolean on) throws SocketException
Включает или отключает параметр сокета SO_REUSEADDR.

После закрытия TCP-соединения оно может некоторое время оставаться в состоянии тайм-аута (обычно называемом состоянием TIME_WAIT или состоянием ожидания 2MSL). Для приложений, использующих известный адрес или порт сокета, может оказаться невозможным привязать сокет к требуемому SocketAddress, если с этим адресом или портом связано соединение в состоянии тайм-аута.

Включение SO_REUSEADDR перед привязкой сокета с помощью bind(SocketAddress) позволяет привязать сокет, даже если предыдущее соединение находится в состоянии тайм-аута.

При создании ServerSocket исходное значение SO_REUSEADDR не определено. Приложения могут использовать getReuseAddress(), чтобы определить исходное значение SO_REUSEADDR.

Поведение при включении или отключении SO_REUSEADDR после привязки сокета (см. isBound()) не определено.

Параметры:
on — включить или отключить параметр сокета
Исключения:
SocketException — если при включении или отключении параметра сокета SO_REUSEADDR возникает ошибка или сокет закрыт.
Начиная с:
1.4
См. также:
  • getReuseAddress()
  • bind(SocketAddress)
  • isBound()
  • isClosed()

getReuseAddress

public boolean getReuseAddress() throws SocketException
Проверяет, включен ли параметр SO_REUSEADDR.
Возвращает:
значение типа boolean, указывающее, включен ли параметр SO_REUSEADDR.
Исключения:
SocketException — если в нижележащем протоколе произошла ошибка, например ошибка TCP, или сокет закрыт.
Начиная с:
1.4
См. также:
  • setReuseAddress(boolean)

toString

public String toString()
Возвращает адрес и порт реализации этого сокета в виде String.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого сокета.

setSocketFactory

@Deprecated(since="17") public static void setSocketFactory(SocketImplFactory fac) throws IOException
Устарело.
Используйте ServerSocketFactory и напрямую создайте подкласс ServerSocket.
Этот метод предоставлял в ранних выпусках JDK возможность заменить общесистемную реализацию ServerSocket. Он в основном устарел начиная с Java 1.4. При необходимости можно создать ServerSocket для использования пользовательской реализации, расширив ServerSocket и применив защищенный конструктор, принимающий в качестве параметра реализацию.
Задает фабрику реализации серверных сокетов для приложения. Фабрику можно указать только один раз.

Когда приложение создает новый серверный сокет, для создания фактической реализации сокета вызывается метод createSocketImpl фабрики реализации сокетов.

Передача null этому методу ничего не делает, если фабрика уже не задана.

Параметры:
fac — требуемая фабрика.
Исключения:
IOException — если при задании фабрики сокетов возникает ошибка ввода-вывода.
SocketException — если фабрика уже задана.
См. также:
  • SocketImplFactory.createSocketImpl()

setReceiveBufferSize

public void setReceiveBufferSize(int size) throws SocketException
Задает предлагаемое значение по умолчанию для параметра SO_RCVBUF сокетов, принимаемых этим ServerSocket. Фактическое значение, установленное для принятого сокета, можно определить, вызвав Socket.getReceiveBufferSize() после того, как сокет будет возвращен методом accept().

Значение SO_RCVBUF используется как для задания размера внутреннего буфера приема сокета, так и для задания размера окна приема TCP, объявляемого удаленному узлу.

Это значение можно впоследствии изменить, вызвав Socket.setReceiveBufferSize(int). Однако если приложение хочет разрешить окно приема размером более 64 Кбайт, как определено в RFC1323, предлагаемое значение необходимо задать в ServerSocket до его привязки к локальному адресу. Это означает, что ServerSocket нужно создать конструктором без аргументов, затем вызвать setReceiveBufferSize() и, наконец, привязать ServerSocket к адресу вызовом bind().

Если этого не сделать, ошибки не возникнет, а размер буфера может быть установлен в запрошенное значение, но окно приема TCP в сокетах, принятых этим ServerSocket, не превысит 64 Кбайт.

Параметры:
size — размер буфера приема. Это значение должно быть больше 0.
Исключения:
SocketException — если в нижележащем протоколе произошла ошибка, например ошибка TCP, или сокет закрыт.
IllegalArgumentException — если значение равно 0 или отрицательно.
Начиная с:
1.4
См. также:
  • getReceiveBufferSize()

getReceiveBufferSize

public int getReceiveBufferSize() throws SocketException
Получает значение параметра SO_RCVBUF для этого ServerSocket, то есть предлагаемого размера буфера, который будет использоваться для сокетов, принимаемых этим ServerSocket.

Примечание: фактическое значение, установленное для принятого сокета, определяется вызовом Socket.getReceiveBufferSize().

Возвращает:
значение параметра SO_RCVBUF для этого Socket.
Исключения:
SocketException — если в нижележащем протоколе произошла ошибка, например ошибка TCP, или сокет закрыт.
Начиная с:
1.4
См. также:
  • setReceiveBufferSize(int)

setPerformancePreferences

@Deprecated(since="26", forRemoval=true) public void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Этот метод предназначался для поддержки протоколов, которые теперь устарели.
Задает предпочтения производительности для этого ServerSocket.

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

Предпочтения производительности задаются тремя целыми числами, значения которых указывают относительную важность малого времени установления соединения, низкой задержки и высокой пропускной способности. Абсолютные значения целых чисел не имеют значения; для выбора протокола сравниваются только сами значения, причем большие значения означают более высокие предпочтения. Например, если приложение предпочитает малое время установления соединения низкой задержке и высокой пропускной способности, оно может вызвать этот метод со значениями (1, 0, 0). Если приложение предпочитает высокую пропускную способность низкой задержке, а низкую задержку — малому времени установления соединения, оно может вызвать этот метод со значениями (0, 1, 2).

Вызов этого метода после привязки сокета не даст результата. Следовательно, для использования этой возможности сокет необходимо создать конструктором без аргументов.

Параметры:
connectionTime — int, выражающее относительную важность малого времени установления соединения
latency — int, выражающее относительную важность низкой задержки
bandwidth — int, выражающее относительную важность высокой пропускной способности
Начиная с:
1.5

setOption

public <T> ServerSocket setOption(SocketOption<T> name, T value) throws IOException
Задает значение параметра сокета.
Параметры типа:
T — тип значения параметра сокета
Параметры:
name — параметр сокета
value — значение параметра сокета. Для некоторых параметров допустимо значение null.
Возвращает:
этот ServerSocket
Исключения:
UnsupportedOperationException — если серверный сокет не поддерживает этот параметр.
IllegalArgumentException — если значение недопустимо для этого параметра.
IOException — если возникает ошибка ввода-вывода или сокет закрыт.
NullPointerException — если name равен null
Начиная с:
9

getOption

public <T> T getOption(SocketOption<T> name) throws IOException
Возвращает значение параметра сокета.
Параметры типа:
T — тип значения параметра сокета
Параметры:
name — параметр сокета
Возвращает:
Значение параметра сокета.
Исключения:
UnsupportedOperationException — если серверный сокет не поддерживает этот параметр.
IOException — если возникает ошибка ввода-вывода или сокет закрыт.
NullPointerException — если name равен null
Начиная с:
9

supportedOptions

public Set<SocketOption<?>> supportedOptions()
Возвращает набор параметров сокета, поддерживаемых этим серверным сокетом. Этот метод продолжит возвращать набор параметров даже после закрытия сокета.
Возвращает:
Набор параметров сокета, поддерживаемых этим сокетом. Этот набор может быть пустым, если не удаётся создать SocketImpl сокета.
Начиная с:
9

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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