socat 多个连接--顺序

socat 多个连接--顺序

我使用的socatLinux 系统连接到两个物理上独立的私有网络,因此一个网络上的 TightVNC 客户端可以访问另一个网络上的 TightVNC 服务器。目前,socat允许一个连接,然后终止,正如预期的那样。

我对“多重连接”的文档/描述感到困惑,因为我无法确定我所看到的内容是否允许同时建立多个连接(即,对我来说很糟糕)或是否允许一个接一个地建立多个连接而无需终止和重新启动程序(即,我想要的)。

我希望我已经充分描述了我的困惑,以便这里的专家能够帮助我。我无法想出一个谷歌搜索查询,除了带有短语的文档之外,我找不到任何东西,例如“...允许使用 socat 进行多个连接...”,但他们似乎从未说明他们谈论的是两种多连接“模式”中的哪一种。

如果有任何用处,这是我的一个命令(除了端口和地址之外,其他命令都相同):

sudo -b socat TCP-LISTEN:5900 TCP:192.168.1.10:5900

如果socat无法自行执行此操作,是否有一个 Linux 程序可以帮助我socat在它退出时重新启动它?

我当前的解决方法是使用这个 shell 脚本:

#!/bin/sh
(while true; do
   sudo socat TCP4-LISTEN:5901 TCP4:192.168.1.2:5900
done) &

这很有效,但可能很难停止当我完成它时。我希望socat能够被指示[有效地]开始本身传入连接关闭后结束。

哦,我是从 Stack Overflow 的网络工程网站转到这里的,因为他们不回答这类问题。

答案1

您可以尝试将 Socats fork 选项与 max-children 选项结合起来:

sudo -b socat TCP-LISTEN:5900,fork,max-children=1 TCP:192.168.1.10:5900

仅当活跃子进程少于 1 个时它才会继续接受连接。

相关内容