我如何在Netty写一个错误到WebSocket通道



我有一个Netty 4.0.19应用程序,我使用一个TextWebSocketFrames发送和接收消息。

这些消息,当它们被接收时,都通过"onmessage"事件处理程序触发。

我该怎么做才能在onerror处理程序上生成错误消息?

例如,下面的错误条件如何作为错误而不是消息发送回web套接字客户端?
public void channelRead0(final ChannelHandlerContext ctx, final TextWebSocketFrame msg) throws Exception
{
    final String message = msg.retain().text();
    Envelope envelope = null;
    boolean errorFree = true;
    try
    {
        envelope = EnvelopeJsonEncoder.decode(MessageType.PUBLISH, message).build();
    }
    catch (final Exception e)
    {
        errorFree = false;
        final WebSocketFrame outFrame = new CloseWebSocketFrame(1002, "Closing due to error");
        ctx.writeAndFlush(outFrame);
    }
    if (errorFree)
    {
        ctx.fireChannelRead(envelope);
    }
}

通常你会写一个CloseWebSocketFrame并指定正确的关闭代码和原因

相关内容

  • 没有找到相关文章

最新更新