netty源码分析(官方例子DiscardServer简要说明)

本文介绍了如何使用Netty 4.1版本搭建一个简单服务端应用,包括配置EventLoopGroup、ServerBootstrap及ChannelInitializer等内容,并对关键组件进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载netty源码:https://github.com/netty/netty/releases/tag/netty-4.1.6.Final

看一个官方的例子

EventLoopGroup bossGroup = new NioEventLoopGroup(1);// 工作线程池,主要用于接受client的连接请求
EventLoopGroup workerGroup = new NioEventLoopGroup();//处理client上读写请求
try {
    ServerBootstrap b = new ServerBootstrap();
    b.group(bossGroup, workerGroup)
     .channel(NioServerSocketChannel.class)// 定义服务的使用了NIO
     .handler(new LoggingHandler(LogLevel.INFO))
     .childHandler(new ChannelInitializer<SocketChannel>() {//创建各种连接器(filter)
         @Override
         public void initChannel(SocketChannel ch) {
             ChannelPipeline p = ch.pipeline();
             if (sslCtx != null) {
                 p.addLast(sslCtx.newHandler(ch.alloc()));
             }
             p.addLast(new DiscardServerHandler());
         }
     });

    // Bind and start to accept incoming connections.
    ChannelFuture f = b.bind(PORT).sync();

对与上面出现的类做个解释 EventLoopGroup 工作线程,处理服务内部的定时任务和NIO任务等

ServerBootstrap 属于一个服务总体的聚合类,里面可以设置不同的服务协议和处理handler

后续详细说明其中的细节

 

 

 

转载于:https://my.oschina.net/u/1388024/blog/817130

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值