Netty中文技术文档

Netty中文技术文档

ID:44843457

大小:115.00 KB

页数:39页

时间:2019-10-30

Netty中文技术文档_第1页
Netty中文技术文档_第2页
Netty中文技术文档_第3页
Netty中文技术文档_第4页
Netty中文技术文档_第5页
资源描述:

《Netty中文技术文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档本指南对Netty进行了介绍并指出其意义所在。1.问题现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个HTTP客户端从远程服务器获取信息或者通过webservices进行远程方法的调用。然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的HTTP服务器进行大型文件,电邮信息的交互,或者处理金融信息和多人游戏数据那种要求准实时消息传递的应用场景。因此,这些都要求使用一个适用于特殊目的并经过高度优化的协议实现。例如,你可能想要实现一个对基于AJAX的聊天应用,媒体流或大文件

2、传输进行过特殊优化的HTTP服务器。你甚至可能想去设计和实现一个全新的,特定于你的需求的通信协议。另一种无法避免的场景是你可能不得不使用一种专有的协议和原有系统交互。在这种情况下,你需要考虑的是如何能够快速的开发出这个协议的实现并且同时还没有牺牲最终应用的性能和稳定性。2.方案Netty是一个异步的,事件驱动的网络编程框架和工具,使用Netty可以快速开发出可维护的,高性能、高扩展能力的协议服务及其客户端应用。也就是说,Netty是一个基于NIO的客户,服务器端编程框架,使用Netty可以确保你快速和简单的开发出一个网络应用,例如实现了某种

3、协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。"快速"和"简单"并不意味着会让你的最终应用产生维护性或性能上的问题。Netty大全实用文档是一个吸收了多种协议的实现经验,这些协议包括FTP,SMPT,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。一些用户可能找到了某些同样声称具有这些特性的编程框架,因此你们可能想问Netty又有什么不一样的地方。这个问题的答案是

4、Netty项目的设计哲学。从创立之初,无论是在API还是在其实现上Netty都致力于为你提供最为舒适的使用体验。虽然这并不是显而易见的,但你终将会认识到这种设计哲学将令你在阅读本指南和使用Netty时变得更加得轻松和容易。第一章.开始这一章节将围绕Netty的核心结构展开,同时通过一些简单的例子可以让你更快的了解Netty的使用。当你读完本章,你将有能力使用Netty完成客户端和服务端的开发。如果你更喜欢自上而下式的学习方式,你可以首先完成第二章:架构总览的学习,然后再回到这里。1.1.开始之前运行本章示例程序的两个最低要求是:最新版本的N

5、etty程序以及JDK1.5或更高版本。最新版本的Netty程序可在项目下载页下载。下载正确版本的JDK,请到你偏好的JDK站点下载。这就已经足够了吗?实际上你会发现,这两个条件已经足够你完成任何协议的开发了。如果不是这样,请联系Netty项目社区,让我们知道还缺少了什么。大全实用文档最终但不是至少,当你想了解本章所介绍的类的更多信息时请参考API手册。为方便你的使用,这篇文档中所有的类名均连接至在线API手册。此外,如果本篇文档中有任何错误信息,无论是语法错误,还是打印排版错误或者你有更好的建议,请不要顾虑,立即联系Netty项目社区。1

6、.2.抛弃协议服务在这个世界上最简化的协议不是"Hello,world!"而是抛弃协议。这是一种丢弃接收到的任何数据并不做任何回应的协议。实现抛弃协议(DISCARDprotocol),你仅需要忽略接受到的任何数据即可。让我们直接从处理器(handler)实现开始,这个处理器处理Netty的所有I/O事件。packageorg.jboss.netty.example.discard;@ChannelPipelineCoverage("all")1publicclassDiscardServerHandlerextendsSimpleChan

7、nelHandler{2@OverridepublicvoidmessageReceived(ChannelHandlerContextctx,MessageEvente){3}@OverridepublicvoidexceptionCaught(ChannelHandlerContextctx,ExceptionEvente){4e.getCause().printStackTrace();Channelch=e.getChannel();大全实用文档ch.close();}@OverridepublicvoidexceptionCaug

8、ht(ChannelHandlerContextctx,ExceptionEvente){4e.getCause().printStackTrace();Channelch=e.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。