Name
ServerSocketChannel
Synopsis
This
class
is the java.nio
version of
java.net.ServerSocket
. It is a selectable channel
that can be used by servers to accept connections from clients.
Unlike other channel classes in this package, this class cannot be
used for reading or writing bytes: it does not implement any of the
ByteChannel
interfaces, and exists only to accept
and establish connections with clients, not to communicate with those
clients. ServerSocketChannel
differs from
java.net.ServerSocket
in two important ways: it
can put into nonblocking mode and used with a
Selector
, and its accept(
)
method returns a
SocketChannel
rather than a
Socket
, so that communication with the client
whose connection was just accepted can be done using the
java.nio
APIs.
Create a new ServerSocketChannel
with the static
open( )
method. Next, call socket(
)
to obtain the associated ServerSocket
object, and use its bind( )
method to bind the
server socket to a specific port on the local host. You can also call
any other ServerSocket
methods to configure other
socket options at this point.
To accept a new connection through this
ServerSocketChannel
, simply call accept(
)
. If the channel is in blocking mode, this method will
block until a client connects, and will then return a
SocketChannel
that is connected to the client. In
nonblocking mode, (see the inherited configureBlocking(
)
method) accept( )
returns a
SocketChannel
only if there is a client currently waiting to connect, and otherwise immediately ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.