如何从服务器端正确关闭WebSocket channel /连接?如果我使用ctx.getChannel().close(),则会抛出Brwoser(Firefox 9)中的onerror:
页面加载时,与ws://localhost:8080/websocket的连接被中断
我还尝试在CloseWebSocketFramechannelClosed -method中发送一个WebSocketServerHandler:

public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e)
        throws Exception {
    CloseWebSocketFrame close = new CloseWebSocketFrame();
    ctx.getChannel().write(close);
}
这将抛出一个ClosedChannelException(也许与to this有关?)。

最佳答案

您必须这样做:

ch.write(new CloseWebSocketFrame());

服务器将关闭连接。如果连接没有足够快地关闭,则可以调用ch.close()

10-01 12:13