网络故障后重新连接 socat 连接

Kar*_*inz 6 socat

我正在使用 socat 命令在我的嵌入式 linux 设备上创建一个 tty 接口,例如:

socat pty,link=/dev/ttyS9 TCP:10.0.10.1:9999
Run Code Online (Sandbox Code Playgroud)

该连接是通过 dsl 线路的长距离连接。这条线路每晚都断线,我的tty接口宕机了。是否可以使用重新连接的机制创建 tty 交互,直到服务器端再次联机?

下一个问题:是否可以从 Java 程序中调用 socat 命令?

非常感谢!卡尔-海因茨

小智 8

从版本 V 1.4.0.0 开始,socat 具有“重试”、“永远”和“间隔”选项。

所以,这应该给你想要的行为:

socat pty,link=/dev/ttyS9 tcp:10.0.10.1:9999,forever,interval=10,fork
Run Code Online (Sandbox Code Playgroud)

  • 如果第一次连接不成功,`socat - tcp:foo,forever` 将尝试永远重新连接。但连接建立后,如果端点断开连接,socat 就会退出。 (5认同)
  • 这仅适用于第一次连接。如果连接关闭,则不会重新连接。 (2认同)