使用Netty编写一个简单的群聊系统

此博客旨在熟悉Netty基本API使用,用Netty对原本使用NIO的业务进行改造。给出了服务端和客户端的编码及Handler代码,运行结果显示各客户端能接收其他客户端消息,关闭客户端后服务端控制台有相应显示。
概述

具体业务跟下面文章的一样,只是下面文章用的是NIO,这里使用Netty改造。
https://blog.youkuaiyun.com/qq_40837310/article/details/111248486

目的是为了熟悉Netty基本API使用。

服务端编码:

public class ServerGroupChatServer {
   
   


    private  int port;

    public ServerGroupChatServer(int port){
   
   
        this.port = port;
    }


    public void start() throws InterruptedException {
   
   

        NioEventLoopGroup bossGroup = new NioEventLoopGroup();

        NioEventLoopGroup workerGroup = new NioEventLoopGroup();

        try {
   
   
            ServerBootstrap serverBootstrap = new ServerBootstrap();
            serverBootstrap.group(bossGroup,workerGroup)
                    .channel(NioServerSocketChannel.class)
                    //设置TCP等待队列为128
                    .option(ChannelOption.SO_BACKLOG,128)
                    //长连接
                    .childOption(ChannelOption.SO_KEEPALIVE,true)
                    .childHandler(new ChannelInitializer<SocketChannel>() {
   
   
                        @Override
                        protected void initChannel(SocketChannel socketChannel) throws Exception {
   
   
                        	//添加handler
                            socketChannel.pipeline().addLast(new MyNettyChannelHandler());
                        }
                    });


            ChannelFuture bindFuture = serverBootstrap.bind("127.0.0.1", port);
            //添加一个监听器,监听绑定情况
            bindFuture.addListener(new GenericFutureListener<Future<? super Void>>() {
   
   
                @Override
                public void operationComplete(Future<? super Void
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值