Класс 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() | Устарело. Используйте 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) | Устарело. Используйте setTimeToLive вместо этого. |
protected Set<SocketOption<?>> | 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- если во время отправки пакета датаграммы произошла ошибка ввода-вывода. -
PortUnreachableException- может быть вызвано, если сокет подключён к недоступному в данный момент пункту назначения. Гарантия того, что исключение будет выброшено, отсутствует.
connect
protected void connect(InetAddress address,
int port)
throws SocketException Подключает сокет для работы с датаграммами к удалённому пункту назначения. Это связывает удалённый адрес с локальным сокетом, так что датаграммы могут быть отправлены только в этот пункт назначения и получены только из него. Может быть переопределён для вызова системного подключения.
Если удалённый пункт назначения, к которому подключён сокет, не существует или недоступен, и если для этого адреса получен пакет ICMP о недоступности пункта назначения, последующий вызов send или receive может вызвать исключение PortUnreachableException. Гарантия того, что исключение будет выброшено, отсутствует.
- Параметры:
-
address- удалённый InetAddress для подключения -
port- удалённый номер порта - Исключение:
-
SocketException- может быть вызвано, если сокет не может быть подключён к удалённому пункту назначения - С:
- 1.4
disconnect
protected void disconnect()
Отключает сокет для работы с датаграммами от удалённого пункта назначения.
- С:
- 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
protected abstract void setTTL(byte ttl)
throws IOException Устанавливает значение TTL (время жизни).
- Параметры:
-
ttl- байт, задающий значение TTL - Исключение:
-
IOException- если во время установки значения времени жизни произошла ошибка ввода-вывода. - См. также:
getTTL()
getTTL
@Deprecated
protected abstract byte getTTL()
throws IOException Получение значения TTL (время жизни).
- Возвращает:
- байт, представляющий значение TTL
- Исключение:
-
IOException- если при получении значения времени жизни произошла ошибка ввода-вывода - См. также:
setTTL(byte)
setTimeToLive
protected abstract void setTimeToLive(int ttl)
throws IOException Устанавливает значение TTL (время жизни).
- Параметры:
-
ttl-int, задающий значение времени жизни - Исключение:
-
IOException- если во время установки значения времени жизни произошла ошибка ввода-вывода. - См. также:
getTimeToLive()
getTimeToLive
protected abstract int getTimeToLive()
throws IOException Получение значения TTL (время жизни).
- Возвращает:
intпредставляющий значение времени жизни- Исключение:
-
IOException- если при получении значения времени жизни произошла ошибка ввода-вывода - См. также:
setTimeToLive(int)
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 Вызывается для установки параметра сокета.
- Параметры типов:
-
T- Тип значения параметра сокета - Параметры:
-
name- Параметр сокета -
value- Значение параметра сокета. Значениеnullможет быть допустимым для некоторых параметров. - Исключение:
-
UnsupportedOperationException- если DatagramSocketImpl не поддерживает параметр -
NullPointerException- если имя являетсяnull -
IOException- если при попытке установить параметр произошла проблема ввода-вывода - С:
- 9
getOption
protected <T> T getOption(SocketOption<T> name)
throws IOException Вызывается для получения параметра сокета.
- Параметры типов:
-
T- Тип значения параметра сокета - Параметры:
-
name- Параметр сокета - Возвращает:
- параметр сокета
- Исключение:
-
UnsupportedOperationException- если DatagramSocketImpl не поддерживает параметр -
NullPointerException- если имя являетсяnull -
IOException- если при попытке установить параметр произошла проблема ввода-вывода - С:
- 9
supportedOptions
protected Set<SocketOption<?>> supportedOptions()
Возвращает набор SocketOptions, поддерживаемых этим impl и сокетом этого impl (DatagramSocket или MulticastSocket)
- Возвращает:
- множество SocketOptions
- С:
- 9
© 1993, 2020, 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/11/docs/api/java.base/java/net/DatagramSocketImpl.html