网络大师,
我一直想知道是否有快捷方式/Netty-Utility/smart-trick 将一个通道的输入连接到另一个通道的输出。更详细地考虑以下内容:
- 设置 Netty (http) 服务器
- 对于传入的MessageEvent 获取其ChannelBuffer
- 并将其输入通过管道传输到NettyClient- ChannelBuffer (按照 NettyServer 的方式设置)。
我对如何实现要点 3感兴趣。因为我的第一个想法是
// mock messageReceived(ChannelHandlerContext ctx, MessageEvent e):
ChannelBuffer bufIn = (ChannelBuffer) e.getMessage();
ChannelBuffer bufOut = getClientChannelBuffer();// 在别处设置
bufOut.write(bufIn);
在我看来很尴尬,因为
A. 我必须为每个 messageReceived-Event 确定目标 ChannelBuffer
B. 需要进行大量低级修补
我的愿望/愿景是将
--> 一个通道的输入 -->连接
到另一个通道的输出,
并让他们在没有任何额外编码的情况下进行 I/O。
非常感谢!,特劳德
PS:问题已经出现,因为我试图将各种 HTTP 请求分派到服务器(一个入口点)到其他几个服务器,具体取决于输入内容(基于第一个 HTTP 请求行的映射)。显然,我还需要做相反的技巧——将客户端返回到服务器——但我想这与之前问题的解决方案类似。