现有的TCP中继解决方案

时间:2014-10-08 07:47:38

标签: sockets tcp

我有一个需要使用TCP Relay的场景。在我开始编写自定义内容之前,我想知道是否有人知道可以为我做这件事的现有软件。

我在不同网络上有2台设备无法相互连接。让他们称他们为网络A和B.这些设备需要进行通信,他们可以通过中间人"网络上的中继C. A可以连接到C,B可以连接到C. C无法连接到A或B.

A -> C <- B

这个想法如下:

  1. A与C建立TCP连接,只需等待
  2. B在需要来自A的内容时与C建立TCP连接。
  3. C从B读取数据,并用A响应已经打开的连接。
  4. 处理数据并响应C,后者转发给B.
  5. 是否有现成的工具可以做到这一点?

1 个答案:

答案 0 :(得分:0)

如此处所述:https://serverfault.com/questions/634516/existing-tcp-relay-solutions/634519

socat TCP4-LISTEN:12345 TCP4-LISTEN:54321

(其中12345和54321是服务器侦听每个连接的端口)。其中一个客户端连接到一个端口,另一个端口连接到另一个端口,然后数据在两个方向上交换。如果一台机器在另一台机器连接之前发送数据,它将被缓冲并在连接后发送。