Интерфейс 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 к адресу сокета протокола Интернета, возвращаемое этим методом значение имеет тип 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.