nc 在连接拒绝时重试

nc 在连接拒绝时重试

有什么解决办法吗

nc 192.168.1.1 1234 重试直到连接以及连接后;它将通过正在侦听端口号的计算机 192.168.1.1 上的“nc 192.168.1.1 1234”发送输出。 1234.

??

//一旦通过 nc 命令创建连接,我想通过“nc”发送消息,否则它将尝试通过 nc 重新连接//

答案1

如果您使用的是bashshell 或类似的 shell,您可以执行如下操作;

cat message | while ! nc 192.168.1.1 1234 ; do sleep 1 ; done

答案2

我也有类似的问题,但是对于curl。我构建了一个名为“重试”的专用工具来执行此操作。重试一次且仅一次读取 stdin,重复 nc 命令直到成功,然后在成功时将 stdout 一次且仅一次输出到管道中的下一个命令。

~$ echo output | retry -- nc 192.168.1.1 1234
retry: nc returned 1, backing off for 10 seconds and trying again...
retry: nc returned 1, backing off for 10 seconds and trying again...
^C

https://github.com/minfrin/retry

在最新的 Debian、Ubuntu 和 Nix 中开箱即用。

相关内容