Io 网络:通过管道将一个通道的输出连接到另一个通道的输入

Io 网络:通过管道将一个通道的输出连接到另一个通道的输入,io,pipe,netty,channels,Io,Pipe,Netty,Channels,内蒂大师 我一直在想是否有捷径/网络实用程序/智能窍门 用于将一个通道的输入连接到 另一个频道。更详细地考虑如下: 设置Netty(http)服务器 对于传入的消息事件,获取其通道缓冲区 和管道将其输入传输到净周期客户-通道缓冲区 (将沿NettyServer的线路进行设置) 我对如何实现要点感兴趣。自从我第一次 沿途的想法 //收到模拟消息(ChannelHandlerContext ctx,MessageEvent e): ChannelBuffer bufIn=(ChannelBuffer

内蒂大师

我一直在想是否有捷径/网络实用程序/智能窍门 用于将一个通道的输入连接到 另一个频道。更详细地考虑如下:

  • 设置Netty(http)服务器
  • 对于传入的消息事件,获取其通道缓冲区
  • 管道将其输入传输到净周期客户-通道缓冲区 (将沿NettyServer的线路进行设置)
  • 我对如何实现要点感兴趣。自从我第一次 沿途的想法
    //收到模拟消息(ChannelHandlerContext ctx,MessageEvent e):
    ChannelBuffer bufIn=(ChannelBuffer)e.getMessage()
    ChannelBuffer bufOut=getClientChannelBuffer();//在其他地方设置
    bufOut.write(bufIn)

    我觉得很尴尬,因为
    A.我必须为每个messageReceived事件确定 目标通道缓冲区
    B.低水平的修补

    我的愿望/愿景是连接
    -->一个通道的输入
    -->到其他通道的输出
    并让它们在不进行任何额外编码的情况下进行I/O操作

    非常感谢!, 劳德

    注意:当我试图将各种HTTP请求发送到服务器时,出现了这个问题 服务器(一个入口点)到多个其他服务器,具体取决于 输入内容(基于第一个HTTP请求行的映射)。 显然,我还需要做相反的事情——通过管道传回客户端 到服务器--但我想它将类似于
    前面的问题。

    看起来您需要在业务处理程序中使用多路复用器。业务处理程序可以有一个映射。键作为“第一个http请求行”,值作为服务器的输出通道。一旦你做了一个查找,你只需要做一个
    频道。写(channelBuffer)


    还可以看看bruno de carvalho's,它可能会为您提供更多关于如何处理此类需求的想法。

    谢谢您的帖子!,详细信息:布鲁诺·德·卡瓦略的tcp隧道感谢发帖!,详细说明:Bruno de Carvalho的tcp隧道与我的要求非常接近,我需要对其进行一些更改,因为tcp隧道基于连接进行多路复用,而我需要基于内容进行多路复用(也许我可以将内容嗅探整合到布鲁诺的隧道中,并问他是否愿意合并这些策略——这肯定利用了我们的方法)。我希望在[链接]中有一个管道,但我想在此期间我可以尝试为自己提供这样一个管道。