feat(新增): 🚀 netty的 NioEventLoopGroup 的服务端消息向下传递
This commit is contained in:
parent
2b54588dbf
commit
8275bdc281
|
@ -0,0 +1,45 @@
|
||||||
|
package cn.bunny.service.netty.demo2;
|
||||||
|
|
||||||
|
import io.netty.bootstrap.ServerBootstrap;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
|
import io.netty.channel.ChannelInitializer;
|
||||||
|
import io.netty.channel.DefaultEventLoopGroup;
|
||||||
|
import io.netty.channel.nio.NioEventLoopGroup;
|
||||||
|
import io.netty.channel.socket.nio.NioServerSocketChannel;
|
||||||
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class EventLoopIoServer向下传递 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
DefaultEventLoopGroup group = new DefaultEventLoopGroup();
|
||||||
|
new ServerBootstrap()
|
||||||
|
.group(new NioEventLoopGroup(), new NioEventLoopGroup(2))
|
||||||
|
.channel(NioServerSocketChannel.class)
|
||||||
|
.childHandler(new ChannelInitializer<NioSocketChannel>() {
|
||||||
|
@Override
|
||||||
|
protected void initChannel(NioSocketChannel nioSocketChannel) throws Exception {
|
||||||
|
nioSocketChannel.pipeline().addLast(group, "handler", new ChannelInboundHandlerAdapter() {
|
||||||
|
@Override
|
||||||
|
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
|
||||||
|
ByteBuf buf = (ByteBuf) msg;
|
||||||
|
log.debug(buf.toString(Charset.defaultCharset()));
|
||||||
|
// 让消息继续传递下去
|
||||||
|
ctx.fireChannelRead(msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.addLast(group, "handler2", new ChannelInboundHandlerAdapter() {
|
||||||
|
@Override
|
||||||
|
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
|
||||||
|
ByteBuf buf = (ByteBuf) msg;
|
||||||
|
log.debug(buf.toString(Charset.defaultCharset()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).bind(8080);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue