Skip to content
A Java NIO Server using non-blocking IO all the way through.
Branch: master
Clone or download
Latest commit 35fdd0f Jan 7, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Server updated to have a single Server class which instantiates all t… Oct 24, 2015
LICENSE Initial commit Oct 16, 2015 Update Jan 7, 2020

Java NIO Server

A Java NIO Server using non-blocking IO all the way through.

Note: This is NOT intended for reuse "as is". This is an example of how you could design a Java NIO server yourself. The design is explained in this tutorial:

Java NIO Non-blocking Server

Because this is an example app - this project will NOT accept feature requests. If there are any obvious bugs in the code, I can fix those, but apart from that, the code has to stay as it is.

By the way, I am working a real, usable non-blocking client-server API called "Nanosai Net Ops" - based on the designs of this project. That project contains both a client and a server, and you can use both client and server using both blocking and non-blocking methods, and switch between the two modes as you see fit. You can find Net Ops here:

I have been able to "echo" around 200.000 messages per second with Net Ops (in early versions), coming from 3 clients running on the same machine, against a single-threaded server - on a Quad core CPU.

Net Ops has several smaller improvements in the design and functionality over the server you see in this project, so if you really want to study a more robust non-blocking IO client / server design, look at Net Ops too.

You can’t perform that action at this time.