在通道初始化器中,
protected void initChannel(SocketChannel ch) throws Exception {
MessageHandler handler = new MessageHandler(channelGroup);
ch.pipeline().addLast(DECODER, new MessageDecoder())
.addLast(ENCODER, newMessageEncoder())
.addLast(idleExecutor, "idleHandler", new IdleStateHandler(0, 0, 6*60))
.addLast(pipelineExecutor, "handler", handler);
}
而且
当我向频道写入内容时。
我向它添加了一个空闲的读取处理程序,这样如果我在某个时间内没有得到响应,我就会关闭通道。
ChannelPipeline pipeline = channel.pipeline();
pipeline.addAfter(ChannelInitializer.idleExecutor,
"idleHandler", "idleReadHandler",new IdleStateHandler(60, 0, 0));
我正在使用Netty-4.1.0
在netty 3.x之前,它在jboss文档中被标记为sharable
https://docs.jboss.org/netty/3.2/api/org/jboss/netty/handler/timeout/IdleStateHandler.html