PLEASE NOTE that the active development has been stopped. Currently this project supports bugfixes only

xSocket is an easy to use NIO-based library to build high performance, scalable network applications. It supports writing client-side applications as well as server-side applications in an intuitive way. Issues like low level NIO selector programming, connection pool management, connection timeout detection are encapsulated by xSocket.

With xSocket you are able to write high performance, scalable client and server components such as SMTP Server, proxies or client and server components which are based on a custom protocol.


xSocket core:

  • Blocking and non-blocking connection support
  • Blocking and non-blocking connection pooling (client-side only)
  • Dynamic callback handler architecture to provide asynchronous communication approaches
  • Configurable threading behaviour (multi-threaded, non-threaded) on callback class and method level
  • Quality of service management by providing dynamic data transfer rate control
  • SSL (which can also be activated in a ad-hoc manner)
  • TCP and UDP transport protocol
  • JMX-based monitoring and management
  • OSGi and Maven support on deployment level

xSocket extensions:

  • xSocket-multiplexed: Client- & server-side multiplexing/multistreaming
  • Blogging extension from The Blog Starter (Scott Chow)
  • xLightweb (formerly xSocket-http): Client- & server-side HTTP protocol support (synchronous/asynchronous, blocking/non-blocking API). The http module includes a HttpClient as well as a lightweight server execution environment.