Java NIO and TCP Connections
Jump to navigation
Jump to search
Internal
Overview
This article describes the programming model involved in establishing a simple TCP connection and interacting with it with non-blocking I/O, from Java. We use Java NIO APIs primitives introduced in Java 4.
Programming Model
Server
The server code uses a Selector to multiplex over two selectable channels: a ServerSocketChannel that listens for incoming network connections and creates new SocketChannels for each new TCP connection. Once a new connection is detected, the selector thread retrieves the corresponding SocketChannel and registers it with the same selector. The selector loop continues, and reacts to new connection attempts and new data coming over the existing SocketChannels.