netty学习
文章平均质量分 54
JamesGan96
不念过往,不畏将来.不好高骛远,不妄自菲薄.不忘初心,方得始终。
展开
-
《Netty学习》(一)了解netty
1. IO模型 在学习netty前,首先你得了解jdk中的IO模型: IO , NIO , AIOIO 阻塞io ,也就是我们常见的Java.io 包下的各种流等,这里我们不多介绍NIO 非阻塞io , 属于Java.nio包下。它的特点是所有数据都可以用缓冲区(ByteBuffer)处理使用channel通道进行数据的读写使用Selectors选择器可以管理多个通道非阻塞:不会原创 2017-07-19 17:28:34 · 243 阅读 · 0 评论 -
《Netty学习》(二)Hello World
使用netty快速创建hello world项目。原创 2017-07-19 18:47:09 · 330 阅读 · 0 评论 -
《Netty学习》(三)Channel学习
什么是channel 它是数据在网络传输过程中的载体,拥有着不同的传输类型,包含我们熟悉的阻塞传输(oio)和异步传输(nio),拥有操作底层网络api的能力。个人理解:如果网络传输像两个岛屿之间的货物传输,那么channel就像那只船。不同的传输类型对应着不同的航行方式。在netty中Channel生命周期 channelUnregistered channel已经被创建,还没...原创 2017-09-10 15:44:27 · 541 阅读 · 0 评论 -
《Netty学习》(四)ChannelHandler学习
r我们知道 Netty使用了异步的事件驱动模型,来触发网络I/O的各种操作。所以对于channel通道的事件处理必须有一定的了解。从字面上看,channelHandler:通道处理器,拥有着对channel不同状态的事件处理。原创 2017-09-10 16:32:50 · 304 阅读 · 0 评论 -
《Netty学习》(五)ChannelPipeline学习
ChannelPipeline通道管道:一个Channel创建时都会分配一个ChannelPipeline,生死不离。它是一个拥有着ChannelHandler处理器链的容器。在springmvc中的处理器也是链式处理,有兴趣的可以了解责任链模式。原创 2017-09-10 17:01:27 · 310 阅读 · 0 评论 -
《Netty学习》(六)ChannelHandlerContext学习
ChannelHandlerContext 通道处理器上下文。当ChannelHandler添加到ChannelPipeline时,每一个处理器都会分配一个上下文与之绑定,生死不离。上下文可以自身处理器与其他的处理器进行交互,因为上下文并不会改变处理器本身,所以上下文是安全的。原创 2017-09-10 17:30:31 · 671 阅读 · 0 评论 -
《Netty学习》(七)EventLoop学习
EventLoop运行任务来处理在连接的生命周期内发生的事件是任何网络框架的基本功能,称为事件循环 - netty中使用EventLoop实现。用于处理Channel的事件,已经池化。一个EventLoop将由一个永远不会改变的Thread驱动,同时任务(runnable或callable)可以直接交给EventLoop按照FIFO的顺序执行实现。产生的所有事件都由EventLoop本生绑定的线原创 2017-09-10 18:15:57 · 315 阅读 · 0 评论