Интерфейс 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 |
supportedOptions() |
Возвращает набор параметров сокета, поддерживаемых этим каналом. |
Подробное описание методов
bind
NetworkChannel bind(SocketAddress local) throws IOException
Этот метод используется для установления связи между сокетом и локальным адресом. После установления связи сокет остается привязанным до закрытия канала. Если параметр local имеет значение null, то сокет будет привязан к автоматически назначенному адресу.
- Параметры:
-
local- Адрес для привязки сокета, илиnullдля привязки сокета к автоматически назначенному адресу сокета - Возвращает:
- Этот канал
- Исключения:
-
AlreadyBoundException- Если сокет уже привязан -
UnsupportedAddressTypeException- Если тип данного адреса не поддерживается -
ClosedChannelException- Если канал закрыт -
IOException- Если произошла другая ошибка ввода-вывода - См. также:
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/nio/channels/NetworkChannel.html