Netty: Правильное закрытие WebSockets

Как правильно закрыть канал/соединение WebSocket на стороне сервера? Если я использую ctx.getChannel(). close(), то в Brwoser (Firefox 9) происходит onerror:

Соединение с ws://localhost: 8080/websocket было прервано во время загрузки страницы

Я также попытался отправить CloseWebSocketFrame в channelClosed-методе в WebSocketServerHandler:

public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e)
        throws Exception {
    CloseWebSocketFrame close = new CloseWebSocketFrame();
    ctx.getChannel().write(close);
}

Это бросает ClosedChannelException (возможно, связанный с этим? ).

5
задан Community 23 May 2017 в 12:02
поделиться