Интерфейс NetworkChannel
- Все суперинтерфейсы:
-
AutoCloseable,Channel,Closeable
- Все известные дочерние интерфейсы:
MulticastChannel
- Все известные реализующие классы:
-
AsynchronousServerSocketChannel,AsynchronousSocketChannel,DatagramChannel,ServerSocketChannel,SocketChannel
public interface NetworkChannel extends Channel
Канал, реализующий этот интерфейс, представляет собой канал для сокета сети. Метод bind используется для привязки сокета к локальному address, метод getLocalAddress возвращает адрес, к которому привязан сокет, а методы setOption и getOption используются для установки и запроса параметров сокета. Реализация этого интерфейса должна указать поддерживаемые параметры сокета.
Методы bind и setOption, которые не возвращают значение, возвращают сетевой канал, на котором они вызываются. Это позволяет цеплять вызовы методов. Реализации этого интерфейса должны специализировать тип возвращаемого значения, чтобы вызовы методов в реализующем классе могли быть цеплены.
- С:
- 1.7
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
NetworkChannel |
bind |
Привязывает сокет канала к локальному адресу. |
SocketAddress |
getLocalAddress() |
Возвращает адрес сокета, к которому привязан сокет этого канала. |
<T> T |
getOption |
Возвращает значение параметра сокета. |
<T> NetworkChannel |
setOption |
Устанавливает значение параметра сокета. |
Set<SocketOption<?>> |
supportedOptions() |
Возвращает набор поддерживаемых этим каналом параметров сокета. |
Подробное описание методов
bind
NetworkChannel bind(SocketAddress local) throws IOException
Этот метод используется для установления связи между сокетом и локальным адресом. После установления связи сокет остается привязанным до закрытия канала. Если параметр local имеет значение null, сокет будет привязан к автоматически назначенному адресу.
- Параметры:
-
local- Адрес для привязки сокета илиnullдля привязки сокета к автоматически назначенному адресу сокета - Возвращает:
- Этот канал
- Выбрасывает:
-
AlreadyBoundException- Если сокет уже привязан -
UnsupportedAddressTypeException- Если тип заданного адреса не поддерживается -
ClosedChannelException- Если канал закрыт -
IOException- Если возникает другая ошибка ввода/вывода -
SecurityException- Если установлен менеджер безопасности и он отклоняет неопределённое разрешение. Реализация этого интерфейса должна указать все необходимые разрешения. - См. также:
getLocalAddress
SocketAddress getLocalAddress() throws IOException
Если канал привязан к адресу сокета протокола Интернет, то возвращаемое значение этого метода имеет тип InetSocketAddress.
- Возвращает:
- Адрес сокета, к которому он привязан, или
null, если сокет канала не привязан - Выбрасывает:
-
ClosedChannelException- Если канал закрыт -
IOException- Если произошла ошибка ввода/вывода
setOption
<T> NetworkChannel setOption(SocketOption<T> name, T value) throws IOException
- Параметры типа:
-
T- Тип значения параметра сокета - Параметры:
-
name- Параметр сокета -
value- Значение параметра сокета. Значениеnullможет быть допустимым значением для некоторых параметров сокета. - Возвращает:
- Этот канал
- Выбрасывает:
-
UnsupportedOperationException- Если параметр сокета не поддерживается этим каналом -
IllegalArgumentException- Если значение не является допустимым значением для этого параметра сокета -
ClosedChannelException- Если этот канал закрыт -
IOException- Если произошла ошибка ввода/вывода - См. также:
getOption
<T> T getOption(SocketOption<T> name) throws IOException
- Параметры типа:
-
T- Тип значения параметра сокета - Параметры:
-
name- Параметр сокета - Возвращает:
- Значение параметра сокета. Значение
nullможет быть допустимым значением для некоторых параметров сокета. - Выбрасывает:
-
UnsupportedOperationException- Если параметр сокета не поддерживается этим каналом -
ClosedChannelException- Если этот канал закрыт -
IOException- Если произошла ошибка ввода/вывода - См. также:
supportedOptions
Set<SocketOption<?>> supportedOptions()
Этот метод будет продолжать возвращать набор параметров даже после закрытия канала.
- Возвращает:
- Набор параметров сокета, поддерживаемых этим каналом
© 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/NetworkChannel.html