Класс 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
Устарело.
используйте setTimeToLive вместо него.

Устанавливает значение TTL (время жизни).

Параметры:
ttl - байт, задающий значение TTL
Исключение:
IOException - если во время установки значения времени жизни произошла ошибка ввода-вывода.
См. также:
getTTL()

getTTL

@Deprecated
protected abstract byte getTTL()
                        throws IOException
Устарело.
используйте getTimeToLive вместо него.

Получение значения 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

Spec-Zone .ru
спецификации, руководства, описания, API