前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bootstrap与channel与channelPipeline关系

bootstrap与channel与channelPipeline关系

原创
作者头像
spbreak
发布2023-09-14 01:57:30
1300
发布2023-09-14 01:57:30
举报
文章被收录于专栏:nettynetty

一. ServerBootstrap

serverbootstrap 用于引导serverchannel服务器通道, 而通道就是对socket网络套接字文件的一种操作方式

二. channel

channel通道 : IO操作的连接

三. channelPipeline

channelPipeline: 处理或拦截通道的入站事件和出站操作的ChannelHandler列表

四. bootstrap与channel与channelPipeline总关系图

ServerBootstrap与channelgng channelPipeline关系
ServerBootstrap与channelgng channelPipeline关系
  • ServerBootstrap会引导建立起与socket网络套接字之间的channel通道, 监听socket文件的变化情况
  • 从channel通道监听到数据变化, 把变化数据放到channelPipeline管道中进入一系列的ChannelHandler处理
  • channelPipeline可以按需要add/remove增加或移除channelHandler, 以达到所需业务效果
  • channelHandler间通过channelHandlerContext处理器上下文来传达上一步的处理结果, 实现每个独立channelHandler间的数据交互

五. bootstrap创建channel与创建channelPipeline

bootstrap创建channel与创建channelPipeline
bootstrap创建channel与创建channelPipeline
代码语言:javascript
复制
// ServerBootstrap 创建 netty.channel
public abstract class AbstractBootstrap {
    ...
    // bootstrap初始化并注册netty.channel
    // netty.channel内封装nio.channel
    final ChannelFuture initAndRegister() {
        Channel channel = null;
        try {
            channel = channelFactory.newChannel();
            init(channel);
创建netty.channel
创建netty.channel
代码语言:javascript
复制
// channelPipeline添加channelHandler
public class ServerBootstrap {
    @Override
    void init(Channel channel) {
        ...
        // 获取channelPipeline管道, 从netty.channel中
        ChannelPipeline p = channel.pipeline();
        ...
        // 给管道channelPipeline添加channelHandler
        p.addLast(new ChannelInitializer<Channel>() {
            ...
        });
    }
channelPipeline添加channelHandler
channelPipeline添加channelHandler

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. ServerBootstrap
  • 二. channel
  • 三. channelPipeline
  • 四. bootstrap与channel与channelPipeline总关系图
  • 五. bootstrap创建channel与创建channelPipeline
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档