Интерфейс 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- Если произошла другая ошибка ввода-вывода -
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, 2023, 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/21/docs/api/java.base/java/nio/channels/NetworkChannel.html