Discussions

News: xSocket V2.0 released – new http and multiplexed tcp support

  1. xSocket V2.0 has been released, featuring a simplified API, additional functionality and performance improvements. xSocket is an easy to use NIO-based network library to build high performance, highly scalable network applications by hiding the complexity of plain NIO. It provides a synchronous and asynchronous programming API to write client and server components such as SMTP-Server, network proxies or custom-protocol based components. xSocket V2.0 supports TCP (SSL), UDP, multiplexed TCP and HTTP transport. The new major version of xSocket includes an early access version of the new xSocket-http and the xSocket-multipexed TCP extension module. By providing an asynchronous, streaming API the xSocket-http module supports writing event based HTTP network components such as HTTP proxies or COMET server applications.
  2. Interesting. But what does xSocket do that MINA, Grizzly, Netty, etc. don't?
  3. Equals to the other NIO frameworks xSocket hides the complexity of plain NIO. Beside performance issues, xSocket major focus is to provide an easy to understand and intuitive API. The major difference between the NIO frameworks is the key abstraction. xSocket uses Connections for stream-based communication (TCP) and Endpoints for packet-based communication (UDP). The most other NIO Frameworks do implement a low-level abstraction around the Selector. For this reason in most cases you have to write more boring low-level code and to deal with more NIO complexity. Just take a look into the tutorials (e.g. xSocket core, xSocket http, Grizzly ones, ...) and examples of the different NIO frameworks. xSocket intention is to by provide a simple and powerful API by ensuring high performance.
  4. I have used Mina and xScoekt(and NIO and looked at Grizly) and found that I like xSocket best. I understood how to use it and how it's written. .V