Spec-Zone.ru › OpenJDK 24

Класс DatagramSocketImpl

java.lang.Object
java.net.DatagramSocketImpl
Все реализованные интерфейсы:
SocketOptions
public abstract class DatagramSocketImpl extends Object implements SocketOptions
Базовый абстрактный класс реализации сокета для датаграмм и мультивещания.
С тех пор:
1.1

Краткое описание полей

Модификатор и тип Поле Описание
protected FileDescriptor fd
Объект дескриптора файла.
protected int localPort
Номер локального порта.

Поля, объявленные в интерфейсе java.net.SocketOptions

IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_REUSEPORT, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY

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

Конструктор Описание
DatagramSocketImpl()
Конструктор для вызова подклассами.

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

Модификатор и тип Метод Описание
protected abstract void bind(int lport, InetAddress laddr)
Связывает сокет датаграмм с локальным портом и адресом.
protected abstract void close()
Закрывает сокет.
protected void connect(InetAddress address, int port)
Подключает сокет датаграмм к удаленному пункту назначения.
protected abstract void create()
Создаёт сокет датаграмм.
protected void disconnect()
Отключает сокет датаграмм от удалённого пункта назначения.
protected FileDescriptor getFileDescriptor()
Получает дескриптор файла сокета датаграмм.
protected int getLocalPort()
Получает локальный порт.
protected <T> T getOption(SocketOption<T> name)
Вызывается для получения параметра сокета.
protected abstract int getTimeToLive()
Получение параметра TTL (время жизни).
protected abstract byte getTTL()
Устарело, для удаления: Этот элемент API может быть удалён в будущей версии.
используйте getTimeToLive вместо этого.
protected abstract void join(InetAddress inetaddr)
Присоединяется к группе мультивещания.
protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Присоединяется к группе мультивещания.
protected abstract void leave(InetAddress inetaddr)
Выходит из группы мультивещания.
protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Выходит из группы мультивещания.
protected abstract int peek(InetAddress i)
Просмотр пакета, чтобы узнать, от кого он.
protected abstract int peekData(DatagramPacket p)
Просмотр пакета, чтобы узнать, от кого он.
protected abstract void receive(DatagramPacket p)
Приём пакета датаграмм.
protected abstract void send(DatagramPacket p)
Отправка пакета датаграмм.
protected <T> void setOption(SocketOption<T> name, T value)
Вызывается для установки параметра сокета.
protected abstract void setTimeToLive(int ttl)
Устанавливает параметр TTL (время жизни).
protected abstract void setTTL(byte ttl)
Устарело, для удаления: Этот элемент API может быть удалён в будущей версии.
используйте setTimeToLive вместо этого.
protected Set<SocketOption<?>> supportedOptions()
Возвращает набор поддерживаемых SocketOptions этой реализацией и сокетом (DatagramSocket или MulticastSocket) этой реализации.

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

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

Методы, объявленные в интерфейсе java.net.SocketOptions

getOption, setOption

Подробное описание полей

localPort

protected int localPort
Номер локального порта.

fd

protected FileDescriptor fd
Объект дескриптора файла.

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

DatagramSocketImpl

public DatagramSocketImpl()
Конструктор для вызова подклассами.

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

create

protected abstract void create() throws SocketException
Создаёт сокет для датаграмм.
Возможные исключения:
SocketException - если произошла ошибка в базовом протоколе, например, ошибка TCP.

bind

protected abstract void bind(int lport, InetAddress laddr) throws SocketException
Связывает сокет для датаграмм с локальным портом и адресом.
Параметры:
lport - локальный порт
laddr - локальный адрес
Возможные исключения:
SocketException - если произошла ошибка в базовом протоколе, например, ошибка TCP.

send

protected abstract void send(DatagramPacket p) throws IOException
Отправляет пакет датаграмм. Пакет содержит данные и адрес назначения, куда необходимо отправить пакет.
Параметры:
p - пакет, который необходимо отправить.
Возможные исключения:
IOException - если при отправке пакета датаграмм произошла ошибка ввода-вывода.
PortUnreachableException - может быть выброшено, если сокет подключен к недоступному в данный момент пункту назначения. Заметьте, что нет гарантии, что исключение будет выброшено.

connect

protected void connect(InetAddress address, int port) throws SocketException
Подключает сокет для датаграмм к удалённому пункту назначения. Это связывает удалённый адрес с локальным сокетом, так что датаграммы могут быть отправлены только этому пункту назначения и получены только от этого пункта назначения. Это может быть переопределено для вызова системного подключения.

Если удалённый пункт назначения, к которому подключен сокет, не существует или недоступен, а также если для этого адреса был получен пакет ICMP об недоступности пункта назначения, то последующий вызов send или receive может выбросить исключение PortUnreachableException. Заметьте, что нет гарантии, что исключение будет выброшено.

Требования к реализации:
По умолчанию данная функция выбрасывает SocketException.
Параметры:
address - удалённый InetAddress для подключения
port - номер удалённого порта
Возможные исключения:
SocketException - может быть выброшено, если сокет не может быть подключен к удалённому пункту назначения
С:
1.4

disconnect

protected void disconnect()
Отключает сокет для датаграмм от удалённого пункта назначения.
Требования к реализации:
По умолчанию данная функция выбрасывает UncheckedIOException.
Возможные исключения:
UncheckedIOException - если отключение не удаётся или не предоставлена реализация
С:
1.4

peek

protected abstract int peek(InetAddress i) throws IOException
Просмотр пакета, чтобы узнать, от кого он. Обновляет указанный InetAddress до адреса, от которого пришёл пакет.
Параметры:
i - объект InetAddress
Возвращает:
номер порта, от которого пришёл пакет.
Возможные исключения:
IOException - если произошла ошибка ввода-вывода
PortUnreachableException - может быть выброшено, если сокет подключен к недоступному в данный момент пункту назначения. Заметьте, что нет гарантии, что исключение будет выброшено.

peekData

protected abstract int peekData(DatagramPacket p) throws IOException
Просмотр пакета, чтобы узнать, от кого он. Данные копируются в указанный DatagramPacket. Данные возвращаются, но не потребляются, чтобы последующая операция peekData/receive увидела те же данные.
Параметры:
p - полученный пакет.
Возвращает:
номер порта, от которого пришёл пакет.
Возможные исключения:
IOException - если произошла ошибка ввода-вывода
PortUnreachableException - может быть выброшено, если сокет подключен к недоступному в данный момент пункту назначения. Заметьте, что нет гарантии, что исключение будет выброшено.
С:
1.4

receive

protected abstract void receive(DatagramPacket p) throws IOException
Получает пакет датаграмм.
Параметры:
p - полученный пакет.
Возможные исключения:
IOException - если при получении пакета датаграмм произошла ошибка ввода-вывода.
PortUnreachableException - может быть выброшено, если сокет подключен к недоступному в данный момент пункту назначения. Заметьте, что нет гарантии, что исключение будет выброшено.

setTTL

@Deprecated(forRemoval=true, since="1.2") protected abstract void setTTL(byte ttl) throws IOException
Устарело, подлежит удалению: Этот элемент API может быть удалён в будущей версии.
используйте setTimeToLive вместо этого.
Устанавливает значение TTL (time-to-live).
Параметры:
ttl - байт, определяющий значение TTL
Возможные исключения:
IOException - если при установке значения time-to-live произошла ошибка ввода-вывода.
См. также:
  • getTTL()

getTTL

@Deprecated(forRemoval=true, since="1.2") protected abstract byte getTTL() throws IOException
Устарело, подлежит удалению: Этот элемент API может быть удалён в будущей версии.
используйте getTimeToLive вместо этого.
Получение значения TTL (time-to-live).
Возвращает:
байт, представляющий значение TTL
Возможные исключения:
IOException - если при получении значения time-to-live произошла ошибка ввода-вывода
См. также:
  • setTTL(byte)

setTimeToLive

protected abstract void setTimeToLive(int ttl) throws IOException
Устанавливает значение TTL (time-to-live).
Параметры:
ttl - целое число, определяющее значение time-to-live
Возможные исключения:
IOException - если при установке значения time-to-live произошла ошибка ввода-вывода.
См. также:
  • getTimeToLive()

getTimeToLive

protected abstract int getTimeToLive() throws IOException
Получение значения TTL (time-to-live).
Возвращает:
целое число, представляющее значение time-to-live
Возможные исключения:
IOException - если при получении значения time-to-live произошла ошибка ввода-вывода
См. также:
  • setTimeToLive(int)

join

protected abstract void join(InetAddress inetaddr) throws IOException
Подключается к группе multicast.
Параметры:
inetaddr - адрес multicast для подключения.
Возможные исключения:
IOException - если при подключении к группе multicast произошла ошибка ввода-вывода.

leave

protected abstract void leave(InetAddress inetaddr) throws IOException
Выход из группы multicast.
Параметры:
inetaddr - адрес multicast для выхода.
Возможные исключения:
IOException - если при выходе из группы multicast произошла ошибка ввода-вывода.

joinGroup

protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
Подключается к группе multicast.
Параметры:
mcastaddr - адрес для подключения.
netIf - определяет локальный интерфейс для получения пакетов multicast датаграмм
Возможные исключения:
IOException - если при подключении к группе multicast произошла ошибка ввода-вывода
С:
1.4

leaveGroup

protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
Выход из группы multicast.
Параметры:
mcastaddr - адрес для выхода.
netIf - указанный локальный интерфейс для выхода из группы
Возможные исключения:
IOException - если при выходе из группы multicast произошла ошибка ввода-вывода
С:
1.4

close

protected abstract void close()
Закрывает сокет.

getLocalPort

protected int getLocalPort()
Получает локальный порт.
Возвращает:
целое число, представляющее значение локального порта

getFileDescriptor

protected FileDescriptor getFileDescriptor()
Получает дескриптор файла сокета для датаграмм.
Возвращает:
объект, представляющий дескриптор файла сокета для датаграмм

setOption

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

getOption

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

supportedOptions

protected Set<SocketOption<?>> supportedOptions()
Возвращает набор поддерживаемых этим реализацией параметров сокета (DatagramSocket или MulticastSocket)
Требования к реализации:
Стандартная реализация этого метода возвращает пустой набор. Подклассы должны переопределить этот метод с соответствующей реализацией.
Возвращает:
множество параметров SocketOptions
С момента:
9

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/DatagramSocketImpl.html

Spec-Zone.ru

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