diff --git a/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoClient.java b/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoClient.java new file mode 100644 index 0000000..eeffb40 --- /dev/null +++ b/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoClient.java @@ -0,0 +1,32 @@ +package cn.bunny.service.netty.demo2; + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.handler.codec.string.StringEncoder; + +import java.net.InetSocketAddress; + +public class EventLoopIoClient { + public static void main(String[] args) throws InterruptedException { + Channel channel = new Bootstrap() + .group(new NioEventLoopGroup()) + .channel(NioSocketChannel.class) + .handler(new ChannelInitializer() { + @Override + protected void initChannel(NioSocketChannel nioSocketChannel) throws Exception { + nioSocketChannel.pipeline().addLast(new StringEncoder()); + } + }) + .connect(new InetSocketAddress("localhost", 8080)) + .sync() + .channel(); + + + System.out.println(channel); + channel.writeAndFlush("你好啊啊啊"); + System.out.println(); + } +} diff --git a/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoServer.java b/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoServer.java new file mode 100644 index 0000000..bfa2ad8 --- /dev/null +++ b/netty/service/src/main/java/cn/bunny/service/netty/demo2/EventLoopIoServer.java @@ -0,0 +1,36 @@ +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.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) { + new ServerBootstrap() + .group(new NioEventLoopGroup()) + .channel(NioServerSocketChannel.class) + + .childHandler(new ChannelInitializer() { + @Override + protected void initChannel(NioSocketChannel nioSocketChannel) throws Exception { + nioSocketChannel.pipeline().addLast(new ChannelInboundHandlerAdapter() { + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + ByteBuf buf = (ByteBuf) msg; + log.debug(buf.toString(Charset.defaultCharset())); + } + }); + } + }) + .bind(8080); + } +}