净值4.1.6: 服务器每30秒触发一次IdleStateEvent,但从不调用channelInactive方法。持续很长时间。
服务器端太多CLOSE_WAIT
LAST_ACK 10
CLOSE_WAIT 3708
成立7
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
if (evt instanceof IdleStateEvent) {
IdleStateEvent event = (IdleStateEvent) evt;
if (event.state().equals(IdleState.READER_IDLE)) {//只处理读操作
logger.debug("time out close channel: {}", ctx.channel().id().asLongText());
ctx.channel().close();
}
} else {
super.userEventTriggered(ctx, evt);
}
}