Interface NetworkChannel
- All Superinterfaces:
AutoCloseable,Channel,Closeable
- All Known Subinterfaces:
MulticastChannel
- All Known Implementing Classes:
AsynchronousServerSocketChannel,AsynchronousSocketChannel,DatagramChannel,ServerSocketChannel,SocketChannel
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.
- Since:
- 1.7
-
Method Summary
Modifier and TypeMethodDescriptionbind(SocketAddress local) Binds the channel's socket to a local address.Returns the socket address that this channel's socket is bound to.<T> TgetOption(SocketOption<T> name) Returns the value of a socket option.<T> NetworkChannelsetOption(SocketOption<T> name, T value) Sets the value of a socket option.Set<SocketOption<?>> Returns a set of the socket options supported by this channel.
-
Method Details
-
bind
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
localparameter has the valuenullthen the socket will be bound to an address that is assigned automatically.- Parameters:
local- The address to bind the socket, ornullto bind the socket to an automatically assigned socket address- Returns:
- This channel
- Throws:
AlreadyBoundException- 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 occurs- See Also:
-
getLocalAddress
Returns the socket address that this channel's socket is bound to.Where the channel is
boundto an Internet Protocol socket address then the return value from this method is of typeInetSocketAddress.- Returns:
- The socket address that the socket is bound to, or
nullif the channel's socket is not bound - Throws:
ClosedChannelException- If the channel is closedIOException- If an I/O error occurs
-
setOption
Sets the value of a socket option.- Type Parameters:
T- The type of the socket option value- Parameters:
name- The socket optionvalue- The value of the socket option. A value ofnullmay be a valid value for some socket options.- Returns:
- This channel
- Throws:
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 occurs- See Also:
-
getOption
Returns the value of a socket option.- Type Parameters:
T- The type of the socket option value- Parameters:
name- The socket option- Returns:
- The value of the socket option. A value of
nullmay be a valid value for some socket options. - Throws:
UnsupportedOperationException- If the socket option is not supported by this channelClosedChannelException- If this channel is closedIOException- If an I/O error occurs- See Also:
-
supportedOptions
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.
- Returns:
- A set of the socket options supported by this channel
-