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.下图可以解释.


channelHandler.png

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容