netty

一、基础
1.核心对象的对应关系:
 Socket--channel--ChannelPipeline--ChannelHandlers(多个ChannelHandler)
 即一个socket对应一个channel,一个channel对应一个channelPipeline,一个channelPipeline包会含多个channelHandler。

2.channelHandler
2.1 由于channelhandler执行类似于链式,只有当上一个channelhandler执行完且调用fireXXXX后才会执行下一个channelhandler。
2.2 执行顺序:
   以当前主体为中心,接收到信息处理时是由第一个InBount开始执行。处理完接受到的信息返回数据时,由最后一个OutBount开始,例如:
   protected void initChannel(SocketChannel ch) throws Exception {
    ch.pipeline().addLast(new ChannelOutboundHandlerAdapter1());//服务端返回客户端时,对response编码--out
    ch.pipeline().addLast(new ChannelInboundHandlerAdapter2());//服务端接到请求时,对request解码--in
    ch.pipeline().addLast(new ChannelInboundHandlerAdapter3());//服务端处理具体业务--in
     ch.pipeline().addLast(new ChannelOutboundHandlerAdapter4());//服务端返回客户端时,对response编码--out
        }
 以上为例,接受到数据时执行ChannelInboundHandlerAdapter的顺序为2、3;返回结果时执行ChannelOutboundHandlerAdapter的
 顺序为4、1 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值