Spec-Zone.ru › OpenJDK 25

Класс ServerSocket

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

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

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

Socket options
Имя параметра Описание
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)
Задаёт предпочтения производительности для этого 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.

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

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

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

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

Если сокет был связан до того, как его закрыли, этот метод продолжит возвращать 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

public void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Задает предпочтения производительности для этого 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ServerSocket.html

Spec-Zone.ru

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