【问题标题】:Rewriting Binary Streams using Java使用 Java 重写二进制流
【发布时间】:2009-06-24 11:36:15
【问题描述】:

我一直在研究 Netty 和 Mina,但对重写二进制流的最佳方法感到困惑。例如,我想创建一个允许替换 XML 并转发的代理。

示例赞赏。

【问题讨论】:

  • 您能说得更准确些吗?您想编写一个 Java 类,它接受一个流,提供一个流并在两者之间操作数据吗?顺便说一句:XML 是纯文本,而不是二进制数据。

标签: java xml security network-programming


【解决方案1】:

我认为你的想法太低了。 XML 与其说是“二进制”,不如说它是二进制之上的抽象。如果您想在遇到您的线路时替换 XML 的 sn-ps,您必须深入数据包的有效负载部分并寻找 XML 的模式。一个简单的方法是在重建后使用正则表达式字节暂时转换为内容。

一旦您进行了此搜索并匹配了您想要的内容,您就可以替换您想要替换的内容并重新发送。

这方面的难点在于,您可能需要在某些输入离开您的机器之前对其进行缓存,以便您能够找到正在搜索的内容的开头和结尾。让这变得困难的是,您通常不知道数据负载的“开始”和“结束”是什么。

【讨论】:

    猜你喜欢
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多