Nett源码剖析ServerBootstrap的设置2021SC@SDUSC

本文主要剖析了Netty的ServerBootstrap的设置,包括.group()方法中bossGroup和workerGroup的作用,.channel(NioServerSocketChannel.class)如何使用反射创建通道,.option()和.childOption()设置参数,以及.childHandler()设置处理链。最后提到了bind()方法的执行流程,涉及多个关键步骤和内部注册过程。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

bootstrap的设置剖析

bootstrap.group(bossGroup, workerGroup)//设置两个线程组
                    .channel(NioServerSocketChannel.class)//使用NioSocketChannel作为服务器通道实现
                    .option(ChannelOption.SO_BACKLOG, 128)//设置线程队列得到连接个数
                    .childOption(ChannelOption.SO_KEEPALIVE, true)//设置保持活动连接状态
                    .childHandler(new ChannelInitializer<SocketChannel>() {
   //创建一个通道测试对象(匿名对象)
                        //给pipeline设置处理器
                        @Override
                        protected void initChannel(SocketChannel ch) throws Exception {
   
                            ch.pipeline().addLast(new NettyServerHander());
                        }
                    });//给我们的workerGroup的EventLoop对应的管道设置处理器

首先是.group(bossGroup, workerGroup)

public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup) {
   
        super.group(parentGroup);
        if (childGroup == null) {
   
            throw new NullPointerException("childGroup");
        }
        if (this.childGroup != null) {
   
            throw new IllegalStateException("childGroup set already");
        }
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值