netty
来源:互联网 发布:南风捏脸数据2017 编辑:程序博客网 时间:2024/06/05 12:44
在JDK1.4推出JAVA NIO1.0之前,java同步阻塞通信模式在可靠性和性能方面存在很大的弊端。从JDK1.4开始,java支持异步非阻塞通信模式,java服务端并发读写能力得到极大的提升。
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
1.ChannelPipeline
ChannelPipeline实际上应该叫做ChannelHandlerPipeline,可以把ChannelPipeline看成是一个ChandlerHandler的链表,当需要对Channel进行某种处理的时候,Pipeline负责依次调用每一个Handler进行处理。ChannelPipeline并不是直接管理ChannelHandler,而是通过ChannelHandlerContext来间接管理。
2.Bootstrap的使用很像Builder模式,Bootstrap就是Builder,EventLoopGroup、Channel和Handler等是各种Part。稍有不同的是,准备好各种Part后,并不是直接build出一个Product来,而是直接通过connect()方法使用这个Product。connect()方法调用validate()方法看各个Part是否准备就绪,然后调用doConnect()方法。
3.ServerBootstrap比它的超类多了四个Part,bind()方法实际上是在AbstractBootstrap里定义的,bind()先调用validate()方法检查各个Part是否准备就绪,然后把工作交给了doBind()方法。doBind()方法首先调用initAndRegister()方法,然后把工作交给doBind0()。
- Netty
- Netty
- Netty
- Netty
- Netty
- Netty
- netty
- netty
- netty
- Netty
- Netty
- Netty
- Netty
- netty
- Netty
- Netty
- netty
- netty
- JSON 和 XML 优缺点的比较 (2012-08-23 18:08:15)
- 献给和我合作的过得前端童靴们:jquery源码分析--序3
- CentOS的文件权限与目录配置
- 二维码篇【一】【JS】使用jquery.qrcode生成二维码
- linux下通过yum安装svn及配置
- netty
- iOS开发如何实现版本更新
- xcode7编译错误之缺少libc++.dylib
- SQLServer删除复制作业
- iOS自适应布局之Masonry(一)
- 如何求出imgae在屏幕上的大小
- zigbee终端发射功率修改
- Textfield的属性设定和键盘回收
- Makefile定义工程中的宏