netty频道关闭在userEventTriggered调用中失败

时间:2018-09-08 17:02:43

标签: netty heartbeat

净值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);
    }

}

the logs of same channel

0 个答案:

没有答案