Spec-Zone.ru › OpenJDK 17

Класс ServerSocket

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

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

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

Параметры сокета
Имя параметра Описание
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)
Модификатор Конструктор Описание
Создаёт несвязанный серверный сокет.
Создаёт серверный сокет, связанный со заданным портом.
Создаёт серверный сокет и связывает его с указанным номером локального порта с заданным значением backlog.
Создаёт сервер с указанным портом, значением listen backlog и локальным 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)
Устанавливает предпочтения производительности для этого ServerSocket.
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.

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

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

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

ServerSocket

protected ServerSocket(SocketImpl impl)
Создаёт сокет сервера с заданным SocketImpl.
Параметры:
impl - экземпляр SocketImpl, используемый в ServerSocket.
Исключения:
NullPointerException - если impl null.
SecurityException - если установлен менеджер безопасности и его метод checkPermission не разрешает NetPermission("setSocketImpl").
С:
12

ServerSocket

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

ServerSocket

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

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

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

Если существует менеджер безопасности, его метод checkListen вызывается с port в качестве аргумента, чтобы убедиться в разрешении операции. Это может привести к исключению SecurityException.

Параметры:
port - номер порта или 0 для автоматического выделения номера порта.
Исключения:
IOException - если произошла ошибка ввода-вывода при открытии сокета.
SecurityException - если существует менеджер безопасности и его метод checkListen не разрешает операцию.
IllegalArgumentException - если значение параметра порта выходит за пределы допустимого диапазона (от 0 до 65535 включительно).
См. также:
  • SocketImpl
  • SecurityManager.checkListen(int)

ServerSocket

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

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

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

Если существует менеджер безопасности, его метод checkListen вызывается с port в качестве аргумента, чтобы убедиться в разрешении операции. Это может привести к исключению SecurityException. Параметр backlog - это запрашиваемая максимальная длина очереди ожидающих подключений к сокету. Точное значение зависит от реализации. В частности, реализация может наложить максимальную длину или вообще игнорировать параметр. Предоставленное значение должно быть больше 0. Если оно меньше или равно 0, будет использоваться значение по умолчанию, зависящее от реализации.

Параметры:
port - номер порта или 0 для автоматического выделения номера порта.
backlog - запрашиваемая максимальная длина очереди входящих подключений.
Исключения:
IOException - если произошла ошибка ввода-вывода при открытии сокета.
SecurityException - если существует менеджер безопасности и его метод checkListen не разрешает операцию.
IllegalArgumentException - если значение параметра порта выходит за пределы допустимого диапазона (от 0 до 65535 включительно).
См. также:
  • SocketImpl
  • SecurityManager.checkListen(int)

ServerSocket

public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
Создаёт сервер с указанным портом, очередью ожидания и локальным IP-адресом для привязки. Аргумент bindAddr может быть использован на многоадресном хосте для ServerSocket, который будет принимать только запросы подключения к одному из его адресов. Если bindAddr равен null, то ServerSocket будет принимать подключения ко всем локальным адресам. Порт должен быть в диапазоне от 0 до 65535 включительно. Значение порта 0 означает, что номер порта будет автоматически выделен, обычно из диапазона временных портов. Этот номер порта можно получить, вызвав getLocalPort.

Если установлен менеджер безопасности, этот метод вызывает его метод checkListen с port в качестве аргумента, чтобы убедиться в разрешении операции. Это может привести к исключению SecurityException. Параметр backlog - это запрашиваемая максимальная длина очереди ожидающих подключений к сокету. Точное значение зависит от реализации. В частности, реализация может наложить максимальную длину или вообще игнорировать параметр. Предоставленное значение должно быть больше 0. Если оно меньше или равно 0, будет использоваться значение по умолчанию, зависящее от реализации.

Параметры:
port - номер порта или 0 для автоматического выделения номера порта.
backlog - запрашиваемая максимальная длина очереди входящих подключений.
bindAddr - локальный InetAddress, к которому будет привязан сервер
Исключения:
SecurityException - если менеджер безопасности существует и его метод checkListen не разрешает операцию.
IOException - если произошла ошибка ввода-вывода при открытии сокета.
IllegalArgumentException - если значение параметра порта выходит за пределы допустимого диапазона (от 0 до 65535 включительно).
С:
1.1
См. также:
  • SocketOptions
  • SocketImpl
  • SecurityManager.checkListen(int)

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

bind

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

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

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

bind

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

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

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

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

getInetAddress

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

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

Если установлен менеджер безопасности, его метод checkConnect вызывается с локальным адресом и -1 в качестве аргументов, чтобы проверить разрешение операции. Если операция не разрешена, возвращается адрес loopback.

Возвращает:
адрес, к которому привязан этот сокет, или адрес loopback, если доступ запрещён менеджером безопасности, или null если сокет не привязан.
См. также:
  • SecurityManager.checkConnect(java.lang.String, int)

getLocalPort

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

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

Возвращает:
номер порта, на котором прослушивается этот сокет, или -1, если сокет еще не привязан.

getLocalSocketAddress

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

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

Если установлен менеджер безопасности, вызывается его метод checkConnect с локальным адресом и -1 в качестве аргументов, чтобы проверить, разрешена ли операция. Если операция не разрешена, возвращается SocketAddress , представляющий loopback адрес и локальный порт, к которому привязан сокет.

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

accept

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

Создается новый сокет s, и, если установлен менеджер безопасности, вызывается метод менеджера безопасности checkAccept с s.getInetAddress().getHostAddress() и s.getPort() в качестве аргументов, чтобы убедиться в разрешении операции. Это может привести к исключению SecurityException.

Примечание реализации:
Экземпляр этого класса, использующий системный SocketImpl , принимает сокеты того же типа, независимо от фабрики реализации клиента сокета, если она была установлена.
Возвращает:
новый сокет
Исключение:
IOException - если при ожидании подключения возникает ошибка ввода-вывода.
SecurityException - если менеджер безопасности существует, и его метод checkAccept не разрешает операцию.
SocketTimeoutException - если ранее был установлен таймаут с помощью setSoTimeout, и таймаут истек.
IllegalBlockingModeException - если у этого сокета есть связанный канал, канал находится в режиме без блокировки, и нет подключения, готового к приёму
См. также:
  • SecurityManager.checkAccept(java.lang.String, int)

implAccept

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

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

Примечание реализации:
Экземпляр этого класса, использующий системный SocketImpl , может принять подключение с Socket, использующим SocketImpl того же типа: IOException выбрасывается, если Socket использует пользовательскую SocketImpl. Экземпляр этого класса, использующий пользовательский SocketImpl , не может принять подключение с Socket, использующим системный SocketImpl.
Параметры:
s - сокет
Исключение:
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.

Если сокет был привязан до вызова закрытия, то этот метод будет продолжать возвращать 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 будет блокироваться только на это время. Если таймаут истечёт, будет сгенерировано исключение java.net.SocketTimeoutException, хотя ServerSocket по-прежнему будет валидным. Таймаут 0 интерпретируется как бесконечный таймаут. Параметр **обязательно** должен быть включен перед входом в блокирующую операцию, чтобы он имел эффект.
Параметры:
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.
Возвращает:
a boolean, указывающий, включен ли SO_REUSEADDR.
Издает:
SocketException - если возникла ошибка в базовом протоколе, например, TCP-ошибка.
С тех пор:
1.4
См. также:
  • setReuseAddress(boolean)

toString

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

Если установлен менеджер безопасности, и этот сокет связан, вызывается его метод checkConnect с локальным адресом и -1 в качестве аргументов, чтобы проверить, разрешена ли операция. Если операция не разрешена, возвращается InetAddress, представляющий loopback адрес в качестве адреса реализации.

Переопределяет:
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 в метод — это пустая операция, если фабрика уже не была установлена.

Если установлен менеджер безопасности, этот метод сначала вызывает метод checkSetFactory менеджера безопасности, чтобы убедиться, что операция разрешена. Это может привести к SecurityException.

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

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

public void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Устанавливает предпочтения производительности для этого ServerSocket.

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

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

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

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

setOption

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

getOption

public <T> T getOption(SocketOption<T> name) throws IOException
Возвращает значение опции сокета.
Тип параметров:
T - тип значения опции сокета
Параметры:
name - опция сокета
Возвращает:
Значение опции сокета.
Издает:
UnsupportedOperationException - если серверный сокет не поддерживает опцию.
IOException - если возникает ошибка ввода-вывода или сокет закрыт.
NullPointerException - если имя является null
SecurityException - если установлен менеджер безопасности, если опция сокета требует разрешения на безопасность, и если у вызывающего объекта нет требуемого разрешения. StandardSocketOptions не требуют никакого разрешения на безопасность.
С тех пор:
9

supportedOptions

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

© 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/ServerSocket.html

Spec-Zone.ru

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