Класс DatagramSocketImpl
- Все реализуемые интерфейсы:
SocketOptions
public abstract class DatagramSocketImpl extends Object implements SocketOptions
- Начиная с:
- 1.1
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected FileDescriptor |
fd |
Объект файлового дескриптора. |
protected int |
localPort |
Номер локального порта. |
Поля, объявленные в интерфейсе 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 |
Привязывает датаграммный сокет к локальному порту и адресу. |
protected abstract void |
close() |
Закрывает сокет. |
protected void |
connect |
Подключает датаграммный сокет к удалённому узлу. |
protected abstract void |
create() |
Создаёт датаграммный сокет. |
protected void |
disconnect() |
Отключает датаграммный сокет от удалённого узла. |
protected FileDescriptor |
getFileDescriptor() |
Возвращает файловый дескриптор датаграммного сокета. |
protected int |
getLocalPort() |
Возвращает локальный порт. |
protected <T> T |
getOption |
Вызывается для получения параметра сокета. |
protected abstract int |
getTimeToLive() |
Получает параметр TTL (время жизни). |
protected abstract byte |
getTTL() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. используйте вместо него getTimeToLive. |
protected abstract void |
join |
Вступает в группу многоадресной рассылки. |
protected abstract void |
joinGroup |
Вступает в группу многоадресной рассылки. |
protected abstract void |
leave |
Покидает группу многоадресной рассылки. |
protected abstract void |
leaveGroup |
Покидает группу многоадресной рассылки. |
protected abstract int |
peek |
Просматривает пакет, чтобы определить его отправителя. |
protected abstract int |
peekData |
Просматривает пакет, чтобы определить его отправителя. |
protected abstract void |
receive |
Получает датаграммный пакет. |
protected abstract void |
send |
Отправляет датаграммный пакет. |
protected <T> void |
setOption |
Вызывается для установки параметра сокета. |
protected abstract void |
setTimeToLive |
Устанавливает параметр TTL (время жизни). |
protected abstract void |
setTTL |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. используйте вместо него setTimeToLive. |
protected Set |
supportedOptions() |
Возвращает набор SocketOptions, поддерживаемых этой реализацией и её сокетом (DatagramSocket или MulticastSocket). |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе 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
- Параметры:
-
ttl— значение TTL в виде байта - Выбрасывает:
-
IOException— если при установке параметра времени жизни произошла ошибка ввода-вывода. - См. также:
getTTL
@Deprecated(forRemoval=true, since="1.2") protected abstract byte getTTL() throws IOException
- Возвращает:
- байт, представляющий значение TTL
- Выбрасывает:
-
IOException— если при получении параметра времени жизни произошла ошибка ввода-вывода - См. также:
setTimeToLive
protected abstract void setTimeToLive(int ttl) throws IOException
- Параметры:
-
ttl—int, задающее значение времени жизни - Выбрасывает:
-
IOException— если при установке параметра времени жизни произошла ошибка ввода-вывода. - См. также:
getTimeToLive
protected abstract int getTimeToLive() throws IOException
- Возвращает:
int, представляющее значение времени жизни- Выбрасывает:
-
IOException— если при получении параметра времени жизни произошла ошибка ввода-вывода - См. также:
join
protected abstract void join(InetAddress inetaddr) throws IOException
- Параметры:
-
inetaddr— адрес многоадресной рассылки, к которому нужно присоединиться. - Выбрасывает:
-
IOException— если при вступлении в группу многоадресной рассылки произошла ошибка ввода-вывода.
leave
protected abstract void leave(InetAddress inetaddr) throws IOException
- Параметры:
-
inetaddr— адрес многоадресной рассылки, которую нужно покинуть. - Выбрасывает:
-
IOException— если при выходе из группы многоадресной рассылки произошла ошибка ввода-вывода.
joinGroup
protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
- Параметры:
-
mcastaddr— адрес, к которому нужно присоединиться. -
netIf— задаёт локальный интерфейс для приёма датаграммных пакетов многоадресной рассылки - Выбрасывает:
-
IOException— если при вступлении в группу многоадресной рассылки произошла ошибка ввода-вывода - Начиная с:
- 1.4
leaveGroup
protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
- Параметры:
-
mcastaddr— адрес, который нужно покинуть. -
netIf— задаёт локальный интерфейс, через который нужно покинуть группу - Выбрасывает:
-
IOException— если при выходе из группы многоадресной рассылки произошла ошибка ввода-вывода - Начиная с:
- 1.4
close
protected abstract void close()
getLocalPort
protected int getLocalPort()
- Возвращает:
int, представляющее значение локального порта
getFileDescriptor
protected FileDescriptor getFileDescriptor()
- Возвращает:
- объект
FileDescriptor, представляющий файловый дескриптор датаграммного сокета
setOption
protected <T> void setOption(SocketOption<T> name, T value) throws IOException
- Требования к реализации:
- Реализация этого метода по умолчанию сначала проверяет, что заданный параметр сокета
nameне равен null, а затем выбрасываетUnsupportedOperationException. Подклассам следует переопределить этот метод и предоставить соответствующую реализацию. - Параметры типа:
T— тип значения параметра сокета- Параметры:
-
name— параметр сокета -
value— значение параметра сокета. Значениеnullдопустимо для некоторых параметров. - Выбрасывает:
-
UnsupportedOperationException— если DatagramSocketImpl не поддерживает этот параметр -
IllegalArgumentException— если значение недопустимо для этого параметра -
IOException— если произошла ошибка ввода-вывода или сокет закрыт -
NullPointerException— если name равенnull - Начиная с:
- 9
getOption
protected <T> T getOption(SocketOption<T> name) throws IOException
- Требования к реализации:
- Реализация этого метода по умолчанию сначала проверяет, что заданный параметр сокета
nameне равен null, а затем выбрасываетUnsupportedOperationException. Подклассам следует переопределить этот метод и предоставить соответствующую реализацию. - Параметры типа:
T— тип значения параметра сокета- Параметры:
-
name— параметр сокета - Возвращает:
- параметр сокета
- Выбрасывает:
-
UnsupportedOperationException— если DatagramSocketImpl не поддерживает этот параметр -
IOException— если произошла ошибка ввода-вывода или сокет закрыт -
NullPointerException— если name равенnull - Начиная с:
- 9
supportedOptions
protected Set<SocketOption<?>> supportedOptions()
- Требования к реализации:
- Реализация этого метода по умолчанию возвращает пустой набор. Подклассам следует переопределить этот метод и предоставить соответствующую реализацию.
- Возвращает:
- набор 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/DatagramSocketImpl.html