【发布时间】:2009-06-24 11:36:15
【问题描述】:
我一直在研究 Netty 和 Mina,但对重写二进制流的最佳方法感到困惑。例如,我想创建一个允许替换 XML 并转发的代理。
示例赞赏。
【问题讨论】:
-
您能说得更准确些吗?您想编写一个 Java 类,它接受一个流,提供一个流并在两者之间操作数据吗?顺便说一句:XML 是纯文本,而不是二进制数据。
标签: java xml security network-programming
我一直在研究 Netty 和 Mina,但对重写二进制流的最佳方法感到困惑。例如,我想创建一个允许替换 XML 并转发的代理。
示例赞赏。
【问题讨论】:
标签: java xml security network-programming
我认为你的想法太低了。 XML 与其说是“二进制”,不如说它是二进制之上的抽象。如果您想在遇到您的线路时替换 XML 的 sn-ps,您必须深入数据包的有效负载部分并寻找 XML 的模式。一个简单的方法是在重建后使用正则表达式字节暂时转换为内容。
一旦您进行了此搜索并匹配了您想要的内容,您就可以替换您想要替换的内容并重新发送。
这方面的难点在于,您可能需要在某些输入离开您的机器之前对其进行缓存,以便您能够找到正在搜索的内容的开头和结尾。让这变得困难的是,您通常不知道数据负载的“开始”和“结束”是什么。
【讨论】: