我有一个场景需要使用 TCP 中继。在开始编写自定义内容之前,我想看看是否有人知道可以为我做这件事的现有软件。
我在不同的网络上有 2 台设备无法相互连接。我们称它们为网络 A 和 B。这些设备需要通信,它们可以通过网络 C 上的“中间人”中继进行通信。A 可以连接到 C,B 可以连接到 C。C 不能连接到 A 或 B .
A -> C <- B
思路如下:
- A 建立到 C 的 TCP 连接并简单地等待
- 当 B 需要 A 的东西时,它会建立到 C 的 TCP 连接。
- C 从 B 读取数据并用它响应 A 已经打开的连接。
- A 处理数据并响应 C,C 转发给 B。
是否有现成的工具可以做到这一点?
最佳答案
如此处解释:https://serverfault.com/questions/634516/existing-tcp-relay-solutions/634519
socat TCP4-LISTEN:12345 TCP4-LISTEN:54321
(其中 12345 和 54321 是服务器监听每个连接的端口)。一个客户端连接到一个端口,另一个连接到另一个端口,然后双向交换数据。如果一台机器在另一台机器连接之前发送数据,它会被缓冲并在连接后发送。
关于sockets - 现有的 TCP 中继解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26251714/