Netty框架入门-ChannelPipeline 详细使用

本文介绍了Netty中的ChannelPipeline和ChannelHandlerContext,解释了它们在处理入站和出站数据及事件中的作用。ChannelPipeline作为管道,负责数据的传输,而ChannelHandlerContext则在事件传播中起到关键作用。文章通过示例和类关系图阐述了两者如何协同工作,以及如何通过ChannelHandlerContext触发事件传播。
摘要由CSDN通过智能技术生成

前言

上篇讲解ChannelHandler的使用以及相关子类的使用,这一篇继续来讲讲ChannelPipeline与ChannelHandlerContext,它们三者的有效组合让Netty在处理业务逻辑上得心应手。在讲ChannelHandlerContext之前先来讲讲ChannelPipeline。

ChannalPipeline

Pipeline 可以翻译成管道,在Netty中ChannelPipeline的作用也如同一条管道,通过这条管道处理入站与出站的数据、事件;通过ChannelPipeline对ChannelHandler的有效编排和交互组成一个应用程序数据和事件处理逻辑的核心。

Netty会对每一个新创建的Channel分配一个与之关联的新的ChannelPipeline实例,这个关联是永久的并且是一一对应的,一个Channel不能附加另外一个ChannelPipeline实例也不能分离当前关联的ChannelPipeline实例。下面通过一个示例来看看:

bootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
   
  @Override
  protected void initChannel(SocketChannel ch) throws Exception {
   
    //添加MessageChannel至pipeline中
    ch.pipeline().addLast
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值