NIO框架------Netty

Netty:

JOBSS提供的一个由java开发的高性能 异步事件驱动的NIO框架,该框架支持多路复用I/O,阻塞/非阻塞I/O以及同步I/O。

类似的还有MINA框架

重要的几个概念:

1.channel(通道):客户端和服务端得以传输信息的通道,它维护套接字或者可进行IO操作的组件。

2.buffer(缓冲区):封装了java NIO框架中的缓存结构

3.ChannelHandler(操作通道):在实际的开发中很少直接操纵Channel,而是通过ChannelHandler来间接操纵Channel。

Handler实际上分为两种,Inbound和Outbound

4.ChannelPipline(通道链表):可以把ChannelPipeline看成是一个ChandlerHandler的链表,当需要对Channel进行某种处理的时候,Pipeline负责依次调用每一个Handler进行处理。每个Channel都有一个属于自己的Pipeline,调用Channel#pipeline()方法可以获得Channel的Pipeline,调用Pipeline#channel()方法可以获得Pipeline的Channel。

5.ChannelHandler(过滤器):主要提供的类 ChannelHandlerAdapter/ExchangeHandler等

6.ChannelHandlerContenxt

ServerBootStrap 服务器端启动器

WokThread 工作线程

BossThread主线程

整个框架中主要使用到了责任链和适配器模式

ChannelPipline中由一个个的Channel进行处理形成一个新的数据状态



版权声明:本文为u011659172原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。