概述
具体业务跟下面文章的一样,只是下面文章用的是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

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





