Класс 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 |
Связывает сокет датаграмм с локальным портом и адресом. |
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() |
Устарело. используйте 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 |
Устарело. используйте setTimeToLive вместо этого. |
protected Set |
supportedOptions() |
Возвращает набор параметров SocketOptions, поддерживаемых этим impl и сокетом этого impl (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- если при отправке пакета датаграмм возникает исключение I/O. -
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- если возникает исключение I/O -
PortUnreachableException- может быть возбуждено, если сокет подключен к в настоящее время недоступному пункту назначения. Заметим, нет гарантии, что исключение будет возбуждено.
peekData
protected abstract int peekData(DatagramPacket p) throws IOException
DatagramPacket. Данные возвращаются, но не потребляются, поэтому последующая операция peekData/receive увидит те же данные.- Параметры:
-
p- полученный пакет. - Возвращает:
- номер порта, с которого пришёл пакет.
- Возбуждает:
-
IOException- если возникает исключение I/O -
PortUnreachableException- может быть возбуждено, если сокет подключен к в настоящее время недоступному пункту назначения. Заметим, нет гарантии, что исключение будет возбуждено. - С:
- 1.4
receive
protected abstract void receive(DatagramPacket p) throws IOException
- Параметры:
-
p- полученный пакет. - Возбуждает:
-
IOException- если при получении пакета датаграмм возникает исключение I/O. -
PortUnreachableException- может быть возбуждено, если сокет подключен к в настоящее время недоступному пункту назначения. Заметим, нет гарантии, что исключение будет возбуждено.
setTTL
@Deprecated protected abstract void setTTL(byte ttl) throws IOException
- Параметры:
-
ttl- байт, определяющий значение TTL - Возбуждает:
-
IOException- если при установке опции времени жизни возникает исключение I/O. - См. также:
getTTL
@Deprecated protected abstract byte getTTL() throws IOException
- Возвращает:
- байт, представляющий значение TTL
- Возбуждает:
-
IOException- если при получении опции времени жизни возникает исключение I/O - См. также:
setTimeToLive
protected abstract void setTimeToLive(int ttl) throws IOException
- Параметры:
-
ttl- целое число, определяющее значение времени жизни - Возбуждает:
-
IOException- если при установке опции времени жизни возникает исключение I/O. - См. также:
getTimeToLive
protected abstract int getTimeToLive() throws IOException
- Возвращает:
- целое число, представляющее значение времени жизни
- Возбуждает:
-
IOException- если при получении опции времени жизни возникает исключение I/O - См. также:
join
protected abstract void join(InetAddress inetaddr) throws IOException
- Параметры:
-
inetaddr- мультикаст-адрес для присоединения. - Возбуждает:
-
IOException- если при присоединении к мультикаст-группе возникает исключение I/O.
leave
protected abstract void leave(InetAddress inetaddr) throws IOException
- Параметры:
-
inetaddr- мультикаст-адрес для выхода. - Возбуждает:
-
IOException- если при выходе из мультикаст-группы возникает исключение I/O.
joinGroup
protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
- Параметры:
-
mcastaddr- адрес для присоединения. -
netIf- указывает локальный интерфейс для получения мультикаст-пакетов датаграмм - Возбуждает:
-
IOException- если при присоединении к мультикаст-группе возникает исключение I/O - С:
- 1.4
leaveGroup
protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
- Параметры:
-
mcastaddr- адрес для выхода. -
netIf- указывает локальный интерфейс для выхода из группы - Возбуждает:
-
IOException- если при выходе из мультикаст-группы возникает исключение I/O - С:
- 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()
- Требования к реализации:
- Стандартная реализация этого метода возвращает пустой набор. Подклассы должны переопределить этот метод соответствующей реализацией.
- Возвращает:
- набор SocketOptions
- С:
- 9
© 1993, 2023, 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/21/docs/api/java.base/java/net/DatagramSocketImpl.html