Интерфейс 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
Если канал привязан методом bound к адресу сокета Internet Protocol, возвращаемое этим методом значение имеет тип 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/NetworkChannel.html