Netty——简单的入门代码示例

文章介绍了Netty作为网络通信框架的优势,提供了服务端NettyServer和客户端NettyClient的基础代码示例,包括线程组、Channel初始化、数据处理器等关键组件的使用。Netty简化了NIO的复杂性,提供可扩展的数据处理管道和方便的事件处理接口。

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


上一章已经介绍了纯Java几种网络IO的开发步骤及示例,毫无疑问最好的就是NIO,这也是目前最主流的方式,但是这玩意编写复杂,拓展性也不强,在通信上方方面面都需要重写,这不是一般人能搞得定了,所以呀我们得会用框架呀,Netty就是这方面框架中的佼佼者!

基础示例入门

服务端

NettyServer.class

@Slf4j
public class NettyServer{

    //1.创建线程组  bossGroup:连接线程   workGroup:工作线程
    private final NioEventLoopGroup bossGroup = new NioEventLoopGroup();
    private final NioEventLoopGroup workerGroup = new NioEventLoopGroup();

    public void serverStart() throws InterruptedException {
        try{
            // 服务端启动类
            ServerBootstrap bootstrap = new ServerBootstrap();
            // 传入两个线程组
            bootstrap.group(bossGroup, workerGroup)
                    // 指定Channel 和NIO一样是采用Channel通道的方式通信 所以需要指定服务端通道
                    .channel(NioServerSocketChannel.class)
                    //使用指定的端口设置套接字地址
                    .localAddress(new InetSocketAddress(11111))

                    //服务端可连接队列数,对应TCP/IP协议listen函数中backlog参数
                    .option(ChannelOption.SO_BACKLOG, 1024)

                    //设置数据处理器
                    .childHandler(new ChannelInitializer<Channel>() {
                        @Override
                        protected void initChannel(Channel channel) throws Exception {
                            // 在管道中 添加数据处理类
                            channel.pipeline().addLast(new NettyServerTestHandler());
                        }
                    });
            // 同步等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值