地址 :http://netty.io/wiki/user-guide-for-5.x.html
序言
问题
目前我们使用工程或者库来和别人通信,比如,我们经常使用HTTP client库来从一个web服务器检索信息,并且通过web服务来触发一个远程过程调用。
尽管如此,有时候这些并不能扩展得很好,比如我们不会使用普通目的的HTTP服务器来发送巨大的附件,邮件消息和近乎实时的消息(比如金融信息和多玩家的游戏数据)。
我们需要一个高度优化的协议实现来支持特定的应用。
比如,你也许需要实现一个高度优化过的AJAX聊天协议或者媒体流,或者大文件传输的HTTP服务器。你甚至可以设计和实现全新的协议。
另外一个不可避免的是:当你必须处理某种协议来保证与旧系统的协同工作,需要关注的是如何快速实现协议并且不影响稳定性和性能。
解决方案
The Netty project 目的就是为了提供一个异步的事件驱动的网络框架,为了快速开发出高性能高稳定性的协议服务器和客户端。
换句话来说,是一个NIO客户端、服务器框架,可以快速和简单的开发网络工程比如协议服务器和客户端。简化了TCP和UDP的socket服务器开发。
'Quick and easy' 并不意味着开发出来的工程缺乏稳定性和性能。
Netty已经被仔细的设计,依赖于经验(来自于多种协议比如FTP,SMTP,HTTP和很多二进制及文本协议),因此,它成功实现:简单开发,高性能,稳定,可扩展性。
一些用户也许已经知道其它网络框架宣称有同样的优点,你也许想问是什么使得netty如此的不同,答案就是:代码的哲学,它被设计成基于你最舒服的体验(API和实现),这些将使得你的生活更简单。
开始
这一章节,熟悉netty的核心数据结构以及简单的例子来让你快速开始,你将可以写一个客户端和服务器,基于netty的基础上。
如果你倾向于从上往下的方法,你应该从第2章节开始,再回来。
开始之前
最小的要求来运行例子只有2个,最新版本的netty和JDK1.6+.
最新版本的netty在the project download page.下载最新版本的JDK,自行下载。
一旦阅读之后,你将有很多问题,阅读API文档,当你想知道的时候,所有的类都连接到在线API文档。同时,请联系工程组让我们知道是否有错误的信息或者当你有好主意来改进文档。
翻译 | ok | ok | ok |
理解 | ok | ok | ok |