Spec-Zone.ru › OpenJDK 17

Класс DatagramChannel

java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
java.nio.channels.spi.AbstractSelectableChannel
java.nio.channels.DatagramChannel
Все реализованные интерфейсы:
Closeable, AutoCloseable, ByteChannel, Channel, GatheringByteChannel, InterruptibleChannel, MulticastChannel, NetworkChannel, ReadableByteChannel, ScatteringByteChannel, WritableByteChannel
public abstract class DatagramChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, MulticastChannel
Выбираемый канал для сокетов, ориентированных на датаграммы.

Канал датаграмм создается путем вызова одного из методов open этого класса. Невозможно создать канал для произвольного, предварительно существующего сокета датаграмм. Недавно созданный канал датаграмм открыт, но не подключен. Канал датаграмм не обязательно должен быть подключен для использования методов send и receive. Канал датаграмм может быть подключен, вызвав его метод connect, чтобы избежать накладных расходов на проверки безопасности, которые в противном случае выполняются в рамках каждой операции отправки и получения. Для использования методов read и write канал датаграмм должен быть подключен, так как эти методы не принимают и не возвращают адреса сокетов.

После подключения канал датаграмм остается подключенным до тех пор, пока он не будет отключен или закрыт. Подключение канала датаграмм может быть определено вызовом его метода isConnected.

Параметры сокета настраиваются с помощью метода setOption. Канал датаграмм для сокета протокола Internet поддерживает следующие параметры:

Параметры сокета
Имя параметра Описание
SO_SNDBUF Размер буфера отправки сокета
SO_RCVBUF Размер буфера приема сокета
SO_REUSEADDR Повторное использование адреса
SO_BROADCAST Разрешить передачу широковещательных датаграмм
IP_TOS Байты типа сервиса (ToS) в заголовке протокола Internet (IP)
IP_MULTICAST_IF Сетевой интерфейс для многоадресных датаграмм протокола Internet (IP)
IP_MULTICAST_TTL Время жизни для многоадресных датаграмм протокола Internet (IP)
IP_MULTICAST_LOOP Повтор для многоадресных датаграмм протокола Internet (IP)
Дополнительные (зависимые от реализации) параметры также могут быть поддерживаются.

Канал датаграмм безопасен для использования несколькими потоками. Он поддерживает одновременное чтение и запись, хотя в любой момент времени чтение может выполняться только одним потоком, а запись — только одним потоком.

С:
1.4

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

DatagramChannel(SelectorProvider provider)
Модификатор Конструктор Описание
protected
Инициализирует новый экземпляр этого класса.

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

Модификатор и тип Метод Описание
abstract DatagramChannel bind(SocketAddress local)
Привязывает сокет канала к локальному адресу.
abstract DatagramChannel connect(SocketAddress remote)
Подключает сокет этого канала.
abstract DatagramChannel disconnect()
Отключает сокет этого канала.
abstract SocketAddress getLocalAddress()
Возвращает адрес сокета, к которому привязан сокет этого канала.
abstract SocketAddress getRemoteAddress()
Возвращает удаленный адрес, к которому подключен сокет этого канала.
abstract boolean isConnected()
Указывает, подключен ли сокет этого канала.
static DatagramChannel open()
Открывает канал датаграмм.
static DatagramChannel open(ProtocolFamily family)
Открывает канал датаграмм.
abstract int read(ByteBuffer dst)
Читает датаграмму из этого канала.
final long read(ByteBuffer[] dsts)
Читает датаграмму из этого канала.
abstract long read(ByteBuffer[] dsts, int offset, int length)
Читает датаграмму из этого канала.
abstract SocketAddress receive(ByteBuffer dst)
Принимает датаграмму через этот канал.
abstract int send(ByteBuffer src, SocketAddress target)
Отправляет датаграмму через этот канал.
abstract <T> DatagramChannel setOption(SocketOption<T> name, T value)
Устанавливает значение параметра сокета.
abstract DatagramSocket socket()
Возвращает сокет датаграмм, связанный с этим каналом.
final int validOps()
Возвращает набор операций, идентифицирующий поддерживаемые операции канала.
abstract int write(ByteBuffer src)
Записывает датаграмму в этот канал.
final long write(ByteBuffer[] srcs)
Записывает датаграмму в этот канал.
abstract long write(ByteBuffer[] srcs, int offset, int length)
Записывает датаграмму в этот канал.

Методы, объявленные в классе java.nio.channels.spi.AbstractSelectableChannel

blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register

Методы, объявленные в классе java.nio.channels.SelectableChannel

register

Методы, объявленные в классе java.nio.channels.spi.AbstractInterruptibleChannel

begin, close, end, isOpen

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

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

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

isOpen

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

close, join, join

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

getOption, supportedOptions

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

DatagramChannel

protected DatagramChannel(SelectorProvider provider)
Инициализирует новый экземпляр этого класса.
Параметры:
provider - Предоставление, создавшее этот канал

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

open

public static DatagramChannel open() throws IOException
Открывает канал дейтаграмм.

Новый канал создается путем вызова метода openDatagramChannel системно-широкого по умолчанию объекта SelectorProvider. Канал не будет подключен.

ProtocolFamily сокета канала зависит от платформы (и, возможно, конфигурации) и поэтому не определен. open позволяет выбрать семейство протоколов при открытии канала дейтаграмм, и следует использовать для открытия каналов дейтаграмм, предназначенных для многоадресной рассылки по протоколу Интернет.

Возвращает:
Новый канал дейтаграмм
Исключения:
IOException - Если произошла ошибка ввода-вывода
См. также:
  • системное свойство java.net.preferIPv4Stack

open

public static DatagramChannel open(ProtocolFamily family) throws IOException
Открывает канал дейтаграмм.

Параметр family используется для указания ProtocolFamily. Если канал дейтаграмм будет использоваться для многоадресной рассылки по протоколу IP, то он должен соответствовать типу адреса многоадресных групп, к которым этот канал присоединится.

Новый канал создается путем вызова метода openDatagramChannel системно-широкого по умолчанию объекта SelectorProvider. Канал не будет подключен.

Примечание API:
Сокеты доменного типа Unix не поддерживаются.
Параметры:
family - Семейство протоколов
Возвращает:
Новый канал дейтаграмм
Исключения:
UnsupportedOperationException - Если указанное семейство протоколов не поддерживается. Например, предположим, что параметр задан как StandardProtocolFamily.INET6, но IPv6 не включен на платформе.
IOException - Если произошла ошибка ввода-вывода
С:
1.7
См. также:
  • системное свойство java.net.preferIPv4Stack

validOps

public final int validOps()
Возвращает набор операций, идентифицирующий поддерживаемые операции этого канала.

Каналы дейтаграмм поддерживают чтение и запись, поэтому этот метод возвращает (SelectionKey.OP_READ | SelectionKey.OP_WRITE).

Определено в:
validOps в классе SelectableChannel
Возвращает:
Набор допустимых операций

bind

public abstract DatagramChannel bind(SocketAddress local) throws IOException
Описание скопировано из интерфейса: NetworkChannel
Привязывает сокет канала к локальному адресу.

Этот метод используется для установления связи между сокетом и локальным адресом. После установления связи сокет остается привязанным до закрытия канала. Если параметр local имеет значение null, то сокет будет привязан к автоматически назначенному адресу.

Определено в:
bind в интерфейсе NetworkChannel
Параметры:
local - Адрес для привязки сокета, или null для привязки сокета к автоматически назначенному адресу сокета
Возвращает:
Этот канал
Исключения:
AlreadyBoundException - Если сокет уже привязан
UnsupportedAddressTypeException - Если тип данного адреса не поддерживается
ClosedChannelException - Если канал закрыт
IOException - Если произошла ошибка ввода-вывода
SecurityException - Если установлен менеджер безопасности, и его метод checkListen запрещает операцию
С:
1.7
См. также:
  • NetworkChannel.getLocalAddress()

setOption

public abstract <T> DatagramChannel setOption(SocketOption<T> name, T value) throws IOException
Описание скопировано из интерфейса: NetworkChannel
Устанавливает значение параметра сокета.
Определено в:
setOption в интерфейсе NetworkChannel
Параметры типа:
T - Тип значения параметра сокета
Параметры:
name - Параметр сокета
value - Значение параметра сокета. Значение null может быть допустимым значением для некоторых параметров сокета.
Возвращает:
Этот канал
Исключения:
UnsupportedOperationException - Если параметр сокета не поддерживается этим каналом
IllegalArgumentException - Если значение не является допустимым значением для этого параметра сокета
ClosedChannelException - Если этот канал закрыт
IOException - Если произошла ошибка ввода-вывода
С:
1.7
См. также:
  • StandardSocketOptions

socket

public abstract DatagramSocket socket()
Возвращает сокет дейтаграмм, связанный с этим каналом.
Возвращает:
Сокет дейтаграмм, связанный с этим каналом

isConnected

public abstract boolean isConnected()
Указывает, подключен ли сокет этого канала.
Возвращает:
true если, и только если, сокет этого канала open и подключен

connect

public abstract DatagramChannel connect(SocketAddress remote) throws IOException
Подключает сокет этого канала.

Сокет канала настроен так, что он получает дейтаграммы только от и отправляет дейтаграммы только по указанному удаленному адресу узла. После подключения дейтаграммы не могут быть получены или отправлены по другим адресам. Дейтаграммы в буфере приема сокета канала, которые не были получены перед вызовом этого метода, могут быть удалены. Сокет канала остается подключенным до явного отключения или до закрытия.

Этот метод выполняет точно такие же проверки безопасности, как метод connect класса DatagramSocket. То есть, если установлен менеджер безопасности, этот метод проверяет, разрешает ли его метод checkAccept и checkConnect получение дейтаграмм от и отправку дейтаграмм, соответственно, по указанному удаленному адресу. После подключения дальнейшие проверки безопасности для дейтаграмм, полученных или отправленных по указанному удаленному адресу, не выполняются. Следует позаботиться о том, чтобы подключенный канал дейтаграмм не использовался совместно с небезопасным кодом.

Этот метод может быть вызван в любое время. Если другая нить уже инициировала операцию чтения или записи в этом канале, вызов этого метода будет блокироваться до завершения любой такой операции. Если сокет этого канала не привязан, этот метод сначала приведет к привязке сокета к автоматически назначенному адресу, как если бы вы вызывали метод bind с параметром null.

Параметры:
remote - Удаленный адрес, к которому должен быть подключен этот канал
Возвращает:
Этот канал дейтаграмм
Исключения:
AlreadyConnectedException - Если этот канал уже подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другая нить закрывает этот канал во время выполнения операции подключения
ClosedByInterruptException - Если другая нить прерывает текущую нить во время выполнения операции подключения, тем самым закрывая канал и устанавливая состояние прерывания текущей нити
UnresolvedAddressException - Если данный удаленный адрес не полностью разрешен
UnsupportedAddressTypeException - Если тип данного удаленного адреса не поддерживается
SecurityException - Если установлен менеджер безопасности, и он не разрешает доступ к данному удаленному адресу, или если не привязан, метод менеджера безопасности checkListen запрещает операцию
IOException - Если произошла другая ошибка ввода-вывода

disconnect

public abstract DatagramChannel disconnect() throws IOException
Отключает сокет этого канала.

Сокет канала настроен так, что он может получать датаграммы от любого удалённого адреса и отправлять датаграммы любому удалённому адресу, если это разрешено менеджером безопасности (если он установлен).

Этот метод можно вызывать в любое время. Если другой поток уже инициировал операцию чтения или записи для этого канала, то вызов этого метода будет заблокирован до завершения любой такой операции.

Если сокет этого канала не подключён или канал закрыт, вызов этого метода не имеет эффекта.

API Note:
Если этот метод выбрасывает исключение IOException, сокет канала может оказаться в неопределённом состоянии. Сильно рекомендуется закрыть канал при неудачном отключении.
Возвращает:
Этот канал датаграмм
Выбрасывает:
IOException - Если произошла какая-либо другая ошибка ввода-вывода

getRemoteAddress

public abstract SocketAddress getRemoteAddress() throws IOException
Возвращает удалённый адрес, к которому подключён сокет этого канала.
Возвращает:
Удалённый адрес; null если сокет канала не подключён
Выбрасывает:
ClosedChannelException - Если канал закрыт
IOException - Если произошла ошибка ввода-вывода
С:
1.7

receive

public abstract SocketAddress receive(ByteBuffer dst) throws IOException
Принимает датаграмму через этот канал.

Если датаграмма немедленно доступна или если этот канал в режиме блокировки и она в конечном итоге станет доступной, то датаграмма копируется в предоставленный буфер байтов, и возвращается адрес источника. Если этот канал в режиме без блокировки и датаграмма немедленно недоступна, то этот метод немедленно возвращает null.

Датаграмма передаётся в предоставленный буфер байтов, начиная с текущей позиции, как при обычной операции read. Если оставшихся байтов в буфере меньше, чем требуется для хранения датаграммы, остаток датаграммы отбрасывается.

Этот метод выполняет точно такие же проверки безопасности, как и метод receive класса DatagramSocket. То есть, если сокет не подключён к конкретному удалённому адресу и установлен менеджер безопасности, то для каждой полученной датаграммы этот метод проверяет, разрешены ли адрес и номер порта источника менеджером безопасности с помощью метода checkAccept. Датаграммы, не разрешённые менеджером безопасности, отбрасываются. Надстройка этой проверки безопасности может быть устранена путём предварительного подключения сокета с помощью метода connect.

Этот метод можно вызывать в любое время. Однако, если другой поток уже инициировал операцию чтения для этого канала, вызов этого метода будет заблокирован до завершения первой операции. Если сокет этого канала не привязан, то этот метод сначала заставит сокет привязаться к автоматически назначенному адресу, как если бы вызывался метод bind с параметром null.

Параметры:
dst - Буфер, в который должна быть передана датаграмма
Возвращает:
Адрес источника датаграммы или null если этот канал находится в режиме без блокировки и датаграмма немедленно недоступна
Выбрасывает:
IllegalArgumentException - Если буфер только для чтения
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время выполнения операции чтения
ClosedByInterruptException - Если другой поток прерывает текущий поток во время выполнения операции чтения, закрывая канал и устанавливая статус прерывания текущего потока
SecurityException - Если не привязан и установлен менеджер безопасности, и его метод checkListen отклоняет операцию
IOException - Если произошла какая-либо другая ошибка ввода-вывода

send

public abstract int send(ByteBuffer src, SocketAddress target) throws IOException
Отправляет датаграмму через этот канал.

Если этот канал в режиме без блокировки и в базовом выходном буфере достаточно места или если этот канал в режиме блокировки и достаточно места становится доступным, то оставшиеся байты в данном буфере передаются как одна датаграмма по указанному целевому адресу.

Датаграмма передаётся из буфера байтов как при обычной операции write.

Этот метод выполняет точно такие же проверки безопасности, как и метод send класса DatagramSocket. То есть, если сокет не подключён к конкретному удалённому адресу и установлен менеджер безопасности, то для каждой отправляемой датаграммы этот метод проверяет, разрешены ли целевой адрес и номер порта менеджером безопасности с помощью метода checkConnect. Надстройка этой проверки безопасности может быть устранена путём предварительного подключения сокета с помощью метода connect.

Этот метод можно вызывать в любое время. Однако, если другой поток уже инициировал операцию записи для этого канала, вызов этого метода будет заблокирован до завершения первой операции. Если сокет этого канала не привязан, этот метод сначала заставит сокет привязаться к автоматически назначенному адресу, как если бы вызывался метод bind с параметром null.

Параметры:
src - Буфер, содержащий отправляемую датаграмму
target - Адрес, по которому должна быть отправлена датаграмма
Возвращает:
Количество отправленных байтов, которое будет равно количеству оставшихся байтов в исходном буфере при вызове этого метода или, если этот канал неблокирующий, может быть равно нулю, если в базовом выходном буфере не было достаточно места для датаграммы
Выбрасывает:
AlreadyConnectedException - Если этот канал подключён к другому адресу, чем тот, который указан в target
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время выполнения операции чтения
ClosedByInterruptException - Если другой поток прерывает текущий поток во время выполнения операции чтения, закрывая канал и устанавливая статус прерывания текущего потока
UnresolvedAddressException - Если заданный удалённый адрес не полностью разрешён
UnsupportedAddressTypeException - Если тип заданного удалённого адреса не поддерживается
SecurityException - Если установлен менеджер безопасности и он не разрешает отправлять датаграммы по указанному адресу, или если не привязан и метод менеджера безопасности checkListen отклоняет операцию
IOException - Если произошла какая-либо другая ошибка ввода-вывода

read

public abstract int read(ByteBuffer dst) throws IOException
Читает датаграмму из этого канала.

Этот метод можно вызывать только если сокет этого канала подключён, и он принимает только датаграммы от сокета-партнёра. Если в датаграмме больше байтов, чем остаётся в данном буфере, то остаток датаграммы отбрасывается. В противном случае этот метод ведёт себя точно так же, как указано в интерфейсе ReadableByteChannel.

Определено в:
read в интерфейсе ReadableByteChannel
Параметры:
dst - Буфер, в который должны быть переданы байты
Возвращает:
Количество прочитанных байтов, возможно ноль, или -1 если канал достиг конца потока
Выбрасывает:
NotYetConnectedException - Если сокет этого канала не подключён
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время выполнения операции чтения
ClosedByInterruptException - Если другой поток прерывает текущий поток во время выполнения операции чтения, закрывая канал и устанавливая статус прерывания текущего потока
IOException - Если произошла какая-либо другая ошибка ввода-вывода

read

public abstract long read(ByteBuffer[] dsts, int offset, int length) throws IOException
Считывает датаграмму из этого канала.

Этот метод может быть вызван только в том случае, если сокет этого канала подключен, и он принимает только датаграммы от сокета-партнёра. Если в датаграмме больше байтов, чем осталось в заданных буферах, то оставшаяся часть датаграммы отбрасывается без уведомления. В противном случае этот метод работает точно так же, как и указано в интерфейсе ScatteringByteChannel.

Specified by:
read в интерфейсе ScatteringByteChannel
Parameters:
dsts - Буферы, в которые будут переданы байты
offset - Смещение в массиве буферов первого буфера, в который будут переданы байты; должно быть неотрицательным и не больше dsts.length
length - Максимальное количество буферов для доступа; должно быть неотрицательным и не больше dsts.length - offset
Returns:
Количество считанных байтов, возможно ноль, или -1 если канал достиг конца потока
Throws:
NotYetConnectedException - Если сокет этого канала не подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции чтения
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции чтения, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла другая ошибка ввода-вывода

read

public final long read(ByteBuffer[] dsts) throws IOException
Считывает датаграмму из этого канала.

Этот метод может быть вызван только в том случае, если сокет этого канала подключен, и он принимает только датаграммы от сокета-партнёра. Если в датаграмме больше байтов, чем осталось в заданных буферах, то оставшаяся часть датаграммы отбрасывается без уведомления. В противном случае этот метод работает точно так же, как и указано в интерфейсе ScatteringByteChannel.

Specified by:
read в интерфейсе ScatteringByteChannel
Parameters:
dsts - Буферы, в которые будут переданы байты
Returns:
Количество считанных байтов, возможно ноль, или -1 если канал достиг конца потока
Throws:
NotYetConnectedException - Если сокет этого канала не подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции чтения
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции чтения, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла другая ошибка ввода-вывода

write

public abstract int write(ByteBuffer src) throws IOException
Записывает датаграмму в этот канал.

Этот метод может быть вызван только в том случае, если сокет этого канала подключен, в этом случае он отправляет датаграммы напрямую партнёру по сокету. В противном случае он работает точно так же, как и указано в интерфейсе WritableByteChannel.

Specified by:
write в интерфейсе WritableByteChannel
Parameters:
src - Буфер, из которого будут извлечены байты
Returns:
Количество записанных байтов, возможно ноль
Throws:
NotYetConnectedException - Если сокет этого канала не подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции записи
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции записи, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла другая ошибка ввода-вывода

write

public abstract long write(ByteBuffer[] srcs, int offset, int length) throws IOException
Записывает датаграмму в этот канал.

Этот метод может быть вызван только в том случае, если сокет этого канала подключен, в этом случае он отправляет датаграммы напрямую партнёру по сокету. В противном случае он работает точно так же, как и указано в интерфейсе GatheringByteChannel.

Specified by:
write в интерфейсе GatheringByteChannel
Parameters:
srcs - Буферы, из которых будут извлечены байты
offset - Смещение в массиве буферов первого буфера, из которого будут извлечены байты; должно быть неотрицательным и не больше srcs.length
length - Максимальное количество буферов для доступа; должно быть неотрицательным и не больше srcs.length - offset
Returns:
Количество отправленных байтов, которое будет либо количеством оставшихся байтов в исходном буфере, когда был вызван этот метод, либо, если этот канал неблокирующий, может быть нулём, если в базовом буфере вывода не хватило места для датаграммы
Throws:
NotYetConnectedException - Если сокет этого канала не подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции записи
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции записи, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла другая ошибка ввода-вывода

write

public final long write(ByteBuffer[] srcs) throws IOException
Записывает датаграмму в этот канал.

Этот метод может быть вызван только в том случае, если сокет этого канала подключен, в этом случае он отправляет датаграммы напрямую партнёру по сокету. В противном случае он работает точно так же, как и указано в интерфейсе GatheringByteChannel.

Specified by:
write в интерфейсе GatheringByteChannel
Parameters:
srcs - Буферы, из которых будут извлечены байты
Returns:
Количество отправленных байтов, которое будет либо количеством оставшихся байтов в исходном буфере, когда был вызван этот метод, либо, если этот канал неблокирующий, может быть нулём, если в базовом буфере вывода не хватило места для датаграммы
Throws:
NotYetConnectedException - Если сокет этого канала не подключен
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции записи
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции записи, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла другая ошибка ввода-вывода

getLocalAddress

public abstract SocketAddress getLocalAddress() throws IOException
Возвращает адрес сокета, к которому привязан сокет этого канала.

Если канал привязан к адресу сокета протокола Интернета, то возвращаемое значение этого метода имеет тип InetSocketAddress.

Если установлен менеджер безопасности, его метод checkConnect вызывается с локальным адресом и -1 в качестве аргументов, чтобы увидеть, разрешена ли операция. Если операция не разрешена, возвращается SocketAddress , представляющий loopback адрес и локальный порт сокета канала.

Specified by:
getLocalAddress в интерфейсе NetworkChannel
Returns:
SocketAddress , к которому привязан сокет, или SocketAddress , представляющий адрес обратной связи, если это запрещено менеджером безопасности, или null , если сокет канала не привязан
Throws:
ClosedChannelException - Если канал закрыт
IOException - Если произошла ошибка ввода-вывода

© 1993, 2021, 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/17/docs/api/java.base/java/nio/channels/DatagramChannel.html

Spec-Zone.ru

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