刚学netty,一些细节上还不是很清楚,发现踩了很多坑。一点一点记录下来。
先看一个小demo
bootstrap.group(bossGroup,workerGroup)
.channel(NioServerSocketChannel.class)
.localAddress(new InetSocketAddress(port))
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
//重点看这里,先添加EchoServerOutHandler
//再添加EchoServerInHandler
ch.pipeline().addLast(outHandler);
ch.pipeline().addLast(inHandler);
}
});
//这里是EchoServerOutHandler 的详细代码
public class EchoServerOutHandler extends ChannelOutboundHandlerAdapter {
@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
System.out.println("來到了Out Handler");