public interface NetworkChannel extends Channel
A channel to a network socket.
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.
NetworkChannel bind(SocketAddress local) throws IOException
Binds the channel's socket to a local address.
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
Returns the socket address that this channel's socket is bound to.
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
Sets the value of a socket option.
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
Returns the value of a socket option.
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 occursStandardSocketOptions
Set<SocketOption<?>> supportedOptions()
Returns a set of the socket options supported by this channel.
This method will continue to return the set of options even after the channel has been closed.
© 1993–2017, 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.