сбой закрытия канала netty при вызове userEventTriggered - PullRequest
0 голосов
/ 08 сентября 2018

нетто 4.1.6: сервер запускает IdleStateEvent каждые 30 секунд, но никогда не вызывает метод 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);
    }

}

логи того же канала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...