Accepts a connection made to this channel's socket.
If this channel is in non-blocking mode then this method will
immediately return null if there are no pending connections.
Otherwise it will block indefinitely until a new connection is available
or an I/O error occurs.
The socket channel returned by this method, if any, will be in
blocking mode regardless of the blocking mode of this channel.
This method performs exactly the same security checks as the accept
method of the ServerSocket
class. That is, if a security manager has been
installed then for each new connection this method verifies that the
address and port number of the connection's remote endpoint are
permitted by the security manager's checkAccept
method.
Returns:
The socket channel for the new connection,
or
null if this channel is in non-blocking mode
and no connection is available to be accepted
Throws:
-
ClosedChannelException - If this channel is closed
-
AsynchronousCloseException - If another thread closes this channel
while the accept operation is in progress
-
ClosedByInterruptException - If another thread interrupts the current thread
while the accept operation is in progress, thereby
closing the channel and setting the current thread's
interrupt status
-
NotYetBoundException - If this channel's socket has not yet been bound
-
SecurityException - If a security manager has been installed
and it does not permit access to the remote endpoint
of the new connection
-
IOException - If some other I/O error occurs