diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/NettyServerManager.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/NettyServerManager.java index 95dfd9e06..e886a19ab 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/server/NettyServerManager.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/NettyServerManager.java @@ -16,6 +16,8 @@ import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; import io.netty.handler.timeout.IdleStateHandler; import io.netty.util.ResourceLeakDetector; +import io.netty.util.concurrent.DefaultEventExecutorGroup; +import io.netty.util.concurrent.EventExecutorGroup; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/EchoServerHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/EchoServerHandler.java new file mode 100644 index 000000000..17de54448 --- /dev/null +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/EchoServerHandler.java @@ -0,0 +1,31 @@ +package com.jsowell.netty.server.yunkuaichong; + +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 回复消息Handler + * + * @author Lemon + * @Date 2025/7/22 14:00:03 + */ +@ChannelHandler.Sharable +@Slf4j +@Component +public class EchoServerHandler extends ChannelInboundHandlerAdapter { + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg == null || msg == "") { + log.info("服务端响应空的消息"); + return; + } + //将客户端的信息直接返回写入ctx + ctx.write(msg); + //刷新缓存区 + ctx.flush(); + } +} diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerChannelInitializer.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerChannelInitializer.java index a8ecf9fab..cb713237d 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerChannelInitializer.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerChannelInitializer.java @@ -6,6 +6,8 @@ import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; import io.netty.handler.codec.bytes.ByteArrayDecoder; import io.netty.handler.timeout.IdleStateHandler; +import io.netty.util.concurrent.DefaultEventExecutorGroup; +import io.netty.util.concurrent.EventExecutorGroup; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -14,8 +16,8 @@ import java.util.concurrent.TimeUnit; @Component public class NettyServerChannelInitializer extends ChannelInitializer { - @Resource - NettyServerHandler nettyServerHandler; + // 引入业务线程池 + final EventExecutorGroup businessGroup = new DefaultEventExecutorGroup(16); @Override protected void initChannel(SocketChannel channel) throws Exception { @@ -28,7 +30,9 @@ public class NettyServerChannelInitializer extends ChannelInitializer