JBoss Community

 
The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance & high scalability protocol servers & clients.

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

'Quick and easy' doesn't mean that a resulting application will suffer from a maintainability or a performance issue. Netty has been designed carefully with the experiences earned from the implementation of a lot of protocols such as FTP, SMTP, HTTP, and various binary and text-based legacy protocols. As a result, Netty has succeeded to find a way to achieve ease of development, performance, stability, and flexibility without a compromise.

Status and Road Map

3.2.2.Final has been released on 30-Aug-2010. Please feel free to browse the documentation, compare the performance to other NIO frameworks, read the testimonials from the satisfied, grab a download, and join us on our community to open the future of network application development!

The complete road map is found in our issue tracking system, and you are always welcome to request and contribute a new feature.

Features

Netty was designed and written from scratch to provide the best experience in network application development:

Design
  • Unified API for various transport types - blocking and non-blocking socket
  • Based on a flexible and extensible event model which allows clear separation of concerns
  • Highly customizable thread model - single thread, one or more thread pools such as SEDA
  • True connectionless datagram socket support (since 3.1)
Ease of use
  • Well-documented Javadoc, user guide and examples
  • No more big fat monolithic core which has unnecessary features
  • No additional dependencies but JDK 1.5 (or above)
Performance
  • Better throughput, lower latency
  • Less resource consumption
  • Minimized unnecessary memory copy
Robustness
  • No more OutOfMemoryError due to fast, slow or overloaded connection.
  • No more unfair read / write ratio often found in a NIO application under high speed network
  • Tested against various JDK versions and operating systems (see the live report)
Security
  • Complete SSL/TLS and StartTLS support
  • Runs OK in a restricted environment such as Applet and Google Android
Community
  • Release early, release often
  • The author has been writing similar frameworks since 2003 and he still finds your feed back precious!
 

Testimonial

Netty proved instrumental in the architecture of a replacement of an existing high-speed server that parses and caches live streaming quotes. Under stress tests, the new server could parse and store in excess of 260,000 quotes/sec, a figure not remotely possible with blocking I/O. Netty's well-documented API, excellent examples and first-class support made development a pleasure and unlocked the power of Java NIO. It is, hands-down, my first choice for a networking library.
Greg Haines Ned Davis Research, Inc.