java - 如何从 Netty 向客户端发送多个响应

标签 java netty tcp

我想根据后端进程向客户端发送多个响应。但在 Netty 示例中,我看到 echo 服务器同时发回响应。

我的要求是,我需要验证客户端并向他发送 OK 响应,然后在可用时向他发送 DB 更新。

如何向客户端发送更多响应?请指导我查看示例或任何指南?

最佳答案

在管道中的每个点,您都可以获得管道 Channel来自 MessageEvent 的对象对象(或 ChannelEvent )从处理程序传递到处理程序。您可以使用此信息在管道中的不同点发送多个响应。

如果我们以回显服务器示例为基础,我们可以添加一个再次发送回显的处理程序(也可以在同一个处理程序中完成,但该示例是为了表明多个处理程序可以响应)。

    public class EchoServerHandler extends ChannelHandlerAdapter {

        public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
           Channel ch = e.getChannel();
           // first message
           ch.write(e.getMessage());
        }
        // ...
    }

    public class EchoServerHandler2 extends ChannelHandlerAdapter {

           public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
           Channel ch = e.getChannel();
           // send second message     
           ch.write(e.getMessage());
        }
        // ...
    }

关于java - 如何从 Netty 向客户端发送多个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21273887/

相关文章:

Java:当用户输入名称时打开并输出文件

java - 重新加载 xml 文件后重新加载 GUI

javascript - 如何解决ajax问题不显示在控制台中?

gradle - IntelliJ项目 “JS Client and JVM Server | Gradle”不起作用

utf-8 - 嗅探和显示 UTF-8 中的 TCP 数据包

tcp - LSL通讯

sql-server-2008 - 无法远程连接到 SQL Server 数据库

java - Maven 找不到本地安装的 Artifact ,该 Artifact 仅存在于本地安装

java - Netty - 第二个数据包被忽略

java - 多次调用Netty解码器方法