我一直在研究Netty和Mina,但对于重写二进制流的最佳方法感到困惑。例如,我想创建一个代理,允许替换XML并继续前进。
赞赏的例子。
答案 0 :(得分:1)
我认为你的想法太低了。 XML并不是“二进制”,因为它是二进制之上的抽象。如果你想要在你的行中替换XML的代码片段,你将不得不戳入数据包的有效负载部分并寻找XML的模式。一种简单的方法是在重建字节后使用正则表达式内容暂时。
一旦进行了此搜索并且您已匹配所需内容,就可以替换要替换和重新发送的内容。
这很难的部分是你可能需要在离开机器之前缓存一些输入,这样你才能找到你正在搜索的内容的开头和结尾。使这种困难的原因通常是,您不知道数据有效负载的“开始”和“结束”是什么。