【发布时间】:2012-01-11 11:52:37
【问题描述】:
网络大师,
我一直想知道是否有快捷方式/Netty-Utility/smart-trick 用于连接一个通道的输入到输出 另一个频道。更详细地考虑以下几点:
- 设置 Netty (http) 服务器
- 对于 incoming MessageEvent 获取它的 ChannelBuffer
- 和 管道 其 输入 到 NettyClient-ChannelBuffer (按照 NettyServer 的方式设置)。
我对如何实现 bullet-point 3. 很感兴趣
沿线的想法
// 模拟 messageReceived(ChannelHandlerContext ctx, MessageEvent e):
ChannelBuffer bufIn = (ChannelBuffer) e.getMessage();
ChannelBuffer bufOut = getClientChannelBuffer();// 在别处设置
bufOut.write(bufIn);
在我看来很尴尬,因为
A. 我必须确定每个 messageReceived-Event
目标 ChannelBuffer
B. 大量的低级修补
我的愿望/愿景是连接
--> 一个Channel的输入
--> 到另一个通道的输出
并让他们无需任何额外编码即可完成 I/O。
提前非常感谢! 特劳德
P.S:当我尝试将各种 HTTP 请求发送到 服务器(一个入口点)到其他几个服务器,具体取决于 输入内容(基于第一个 HTTP 请求行的映射)。 显然,我还需要做相反的技巧——通过管道返回客户端 到服务器 - 但我想它会类似于解决方案 之前的问题。
【问题讨论】: