Netcat UDP 传输永不停止,除非通过 CTRL+C 终止

Netcat UDP 传输永不停止,除非通过 CTRL+C 终止

我正在尝试使用网猫使用UDP代替TCP

现在,与过去通过退出进程来标记文件传输完成的 TCP(TCP 上的 Netcat)不同nc,UDP(UDP 上的 Netcat)进程似乎永远不会退出,除非使用 CTRL+C 强制退出

例子

$ pv upd_mnl_client.rb | nc -u 192.168.1.117 5555

385 B 0:00:00 [39.8kiB/s] [=====================================================================>] 100%
^C ## 我必须这样做,因为该进程永远不会退出

任何线索我上面遗漏了什么。

答案1

您没有指定--send-only,因此它无法知道您是否已完成接收。如果您还希望它接收数据,则必须在完成时告知它。如果您不希望它接收数据,请指定--send-only

答案2

您可能可以使用 UDP 超时功能来实现这一点。例如:

nc -ul -i5 <port>

这将使 UDP 监听器在 5 秒后超时。

相关内容