我有一个典型的要求,我希望有一个转换器模块,可以将UDP数据包转换为TCP数据包。 我需要在IP层中处理数据包之前进行此操作。
我将使用示例
解释这个完整的场景假设我们有3台机器A,B和C.
有人可以帮助我如何做到这一点。 我正在使用linux机器。
虽然libpcap可以作为选项之一(来自wireshark),但由于性能原因它不适合我。 我想要一个非常轻量级的解决方案来解决这个问题。
答案 0 :(得分:1)
无法完成。 TCP是一种有状态,可靠,面向连接的字节流协议。 UDP是一种无状态,不可靠,未连接的数据包协议。
您可以做的最好的事情是,在机器B上,打开与C的新套接字/ TCP连接,接受来自A的套接字/ UDP数据包,并将这些数据包的内容写入TCP流。流向另一个方向的数据有点困难,因为您必须创建一个不大于系统支持的最大UDP数据包大小的UDP数据包。
答案 1 :(得分:0)