public interface NetworkChannel extends Channel
 A channel that implements this interface is a channel to a network
 socket. The bind method is used to bind the
 socket to a local address, the getLocalAddress method returns the address that the socket is bound to, and
 the setOption and getOption methods are used to set and query socket
 options.  An implementation of this interface should specify the socket options
 that it supports.
 
 The bind and setOption methods that do
 not otherwise have a value to return are specified to return the network
 channel upon which they are invoked. This allows method invocations to be
 chained. Implementations of this interface should specialize the return type
 so that method invocations on the implementation class can be chained.
| Modifier and Type | Method and Description | 
|---|---|
| NetworkChannel | bind(SocketAddress local)Binds the channel's socket to a local address. | 
| SocketAddress | getLocalAddress()Returns the socket address that this channel's socket is bound to. | 
| <T> T | getOption(SocketOption<T> name)Returns the value of a socket option. | 
| <T> NetworkChannel | setOption(SocketOption<T> name,
         T value)Sets the value of a socket option. | 
| Set<SocketOption<?>> | supportedOptions()Returns a set of the socket options supported by this channel. | 
NetworkChannel bind(SocketAddress local) throws IOException
 This method is used to establish an association between the socket and
 a local address. Once an association is established then the socket remains
 bound until the channel is closed. If the local parameter has the
 value null then the socket will be bound to an address that is
 assigned automatically.
local - The address to bind the socket, or null to bind the socket
          to an automatically assigned socket addressAlreadyBoundException - If the socket is already boundUnsupportedAddressTypeException - If the type of the given address is not supportedClosedChannelException - If the channel is closedIOException - If some other I/O error occursSecurityException - If a security manager is installed and it denies an unspecified
          permission. An implementation of this interface should specify
          any required permissions.getLocalAddress()SocketAddress getLocalAddress() throws IOException
 Where the channel is bound to an Internet Protocol
 socket address then the return value from this method is of type InetSocketAddress.
null
          if the channel's socket is not boundClosedChannelException - If the channel is closedIOException - If an I/O error occurs<T> NetworkChannel setOption(SocketOption<T> name, T value) throws IOException
T - The type of the socket option valuename - The socket optionvalue - The value of the socket option. A value of null may be
          a valid value for some socket options.UnsupportedOperationException - If the socket option is not supported by this channelIllegalArgumentException - If the value is not a valid value for this socket optionClosedChannelException - If this channel is closedIOException - If an I/O error occursStandardSocketOptions<T> T getOption(SocketOption<T> name) throws IOException
T - The type of the socket option valuename - The socket optionnull may be
          a valid value for some socket options.UnsupportedOperationException - If the socket option is not supported by this channelClosedChannelException - If this channel is closedIOException - If an I/O error occursStandardSocketOptionsSet<SocketOption<?>> supportedOptions()
This method will continue to return the set of options even after the channel has been closed.
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.