失效链接处理 |
Netty_3.1中文用户手册 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
1. 问题
现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个 HTTP 客户端从远程
服务器获取信息或者通过 web services 进行远程方法的调用。
然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的
HTTP 服务器进行大型文件,电邮信息的交互,或者处理金融信息和多人游戏数据那种要求准实时消息传
递的应用场景。因此,这些都要求使用一个适用于特殊目的并经过高度优化的协议实现。例如,你可能想
要实现一个对基于 AJAX 的聊天应用,媒体流或大文件传输进行过特殊优化的 HTTP 服务器。你甚至可能
想去设计和实现一个全新的,特定于你的需求的通信协议。
另一种无法避免的场景是你可能不得不使用一种专有的协议和原有系统交互。在这种情况下,你需要考虑
的是如何能够快速的开发出这个协议的实现并且同时还没有牺牲最终应用的性能和稳定性。
2. 方案
Netty 是一个异步的,事件驱动的网络编程框架和工具,使用 Netty 可以快速开发出可维护的,高性能、
高扩展能力的协议服务及其客户端应用。
也就是说,Netty 是一个基于 NIO 的客户,服务器端编程框架,使用 Netty 可以确保你快速和简单的开发
出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty 相当简化和流线化了网络应用的编程开
发过程,例如,TCP 和 UDP 的 socket 服务开发。
“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的
实现经验,这些协议包括 FTP,SMPT,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,
Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。
一些用户可能找到了某些同样声称具有这些特性的编程框架,因此你们可能想问 Netty 又有什么不一样的
地方。这个问题的答案是 Netty 项目的设计哲学。从创立之初,无论是在 API 还是在其实现上 Netty 都致
力于为你提供最为舒适的使用体验。虽然这并不是显而易见的,但你终将会认识到这种设计哲学将令你在
阅读本指南和使用 Netty 时变得更加得轻松和容易。
第一章. 开始
这一章节将围绕 Netty 的核心结构展开,同时通过一些简单的例子可以让你更快的了解 Netty 的使用。当
你读完本章,你将有能力使用 Netty 完成客户端和服务端的开发。
如果你更喜欢自上而下式的学习方式,你可以首先完成 第二章:架构总览 的学习,然后再回到这里。
1.1. 开始之前
运行本章示例程序的两个最低要求是:最新版本的 Netty 程序以及 JDK 1.5或更高版本。最新版本的 Netty
程序可在项目下载页 下载。下载正确版本的 JDK,请到你偏好的 JDK 站点下载。
这就已经足够了吗?实际上你会发现,这两个条件已经足够你完成任何协议的开发了。如果不是这样,请
联系 Netty 项目社区 ,让我们知道还缺少了什么。
最终但不是至少,当你想了解本章所介绍的类的更多信息时请参考 API 手册。为方便你的使用,这篇文档
中所有的类名均连接至在线 API 手册。此外,如果本篇文档中有任何错误信息,无论是语法错误,还是打
印排版错误或者你有更好的建议,请不要顾虑,立即联系 Netty 项目社区 。
1.2. 抛弃协议服务
在这个世界上最简化的协议不是“Hello,world!”而是抛弃协议 。这是一种丢弃接收到的任何数据并不做任何
回应的协议。
实现抛弃协议(DISCARD protocol),你仅需要忽略接受到的任何数据即可。让我们直接从处理器(handler)
实现开始,这个处理器处理 Netty 的所有 I/O 事件。
Java 代码
|