netty channelRead 未自动执行

 1 ServerBootstrap bootstrap = new ServerBootstrap();  2         try {  3             bootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class)  4                     .childHandler(new ChannelInitializer() {  5  @Override  6                         protected void initChannel(Channel ch) throws Exception {  7  ch.pipeline().addLast(  8                                     new HttpServerCodec(),new HttpObjectAggregator(LOCALPORT), // 将多个消息转换为单一的一个FullHttpRequest
 9                                     new HttpRequestDecoder(), 10                                     new ServcerHandler()    // 本身实现的Handler
11  ); 12  } 13                     }).childOption(ChannelOption.AUTO_READ, false) 14                     .bind(LOCALPORT).sync().channel().closeFuture().sync();

由于设置了bootstrap

childOption(ChannelOption.AUTO_READ, false)ide

因此在执行完spa

public void channelActive(ChannelHandlerContext ctx)code

方法后,不会自动执行blog

public void channelRead(ChannelHandlerContext ctx, Object msg) 方法;ip

须要在channelActive中添加这行语句才会调用channelRead方法:it

ctx.channel().read();pip

相关文章
相关标签/搜索