Accepting a Connection on a ServerSocketChannel

To create a ServerSocketChannel, see Creating a Non-Blocking Server Socket.
// Get port that received the connection request; this information
// might be useful in determining how to handle the connection
int localPort = serverSocketChannel.socket().getLocalPort();

try {
    // Accept the connection request.
    // If serverSocketChannel is blocking, this method blocks.
    // The returned channel is in blocking mode.
    SocketChannel sChannel = serverSocketChannel.accept();

    // If serverSocketChannel is non-blocking, sChannel may be null
    if (sChannel == null) {
        // There were no pending connection requests; try again later.
        // To be notified of connection requests,
        // see Using a Selector to Manage Non-Blocking Server Sockets.
    } else {
        // Use the socket channel to communicate with the client
        // See Using a Selector to Manage Non-Blocking Sockets.
} catch (IOException e) {