Essential Netty in Action学习(三)

  • bootstrapping

这次再讲bootstrapping.bootstrapping是连接客户端或者服务器绑定指定接口时使用.bootstrapping有两种类型,用于客户端的bootstrap和用于服务器的serverbootstrap.

分类 网络功能 EventLoopGroup数量
bootstrap 连接到远程主机和端口 1
serverbootstrap 绑定本地端口 2
  • bootstrap

serverbootstrap监听在服务器监听一个端口查看客户端的bootstrap是否连接到服务器.bootstrap直接调用connect()与服务器连接.一个serverbootstrap有2个channel集合,第一个集合包括一个单例serverChannel,代表持有一个绑定本地端口的socket;第二个集合包括所有的channel,处理客户端的连接.

  • channelHandler

channelOutboundHandler和channelOutboudHandler是继承接口channelHandler的两个类.如果数据从客户端到服务端是outbound,数据从服务器到客户端是inbound.下图可以解释.


Essential Netty in Action学习(三)_第1张图片
channelHandler.png

所有的channelHandler都会被安装到pipeline上.如果小心或者其他入站事件被读到的时候,将会从pipeline头部开始,,按照channelInboundHandler顺序放在channelInboundHandler中处理直到数据到达了pipeline的尾部.
相同,数据的出站运动也类似这样,按照channelOutboundHandler顺序处理数据直到数据到达了pipeline的头部.
事件在handler中流动是通过了channelHandlerContext.当你想处理事件时候,可以用Netty提供的抽象基类类ChannelInboundHandlerAdapter 和
hannelOutboundHandlerAdapter,通过相应的方法把事件传递给下一个handler.

你可能感兴趣的:(Essential Netty in Action学习(三))