我使用以下命令来传输大文件(11GB):
cat bigfile | pv -L 11m | nc -u 10.0.0.1 3333
1.6GB 之后客户端停止传输(在目标机器上我看不到数据包)
这个不是丢包问题,因为PV是在客户端的猫上。
两台计算机都运行 Ubuntu。对于前 1.6GB,我在目标机器上的 wireshark 中看到它获取了数据包,但 1.6GB 之后,客户端的 PV 没有显示任何进度,目标机器上的 wireshark 显示没有数据包到达。如果我按 CTRL-C 发送方并重新启动它,我会看到数据包到达,所以我不认为这是服务器问题(netcat 在服务器上像这样运行 - nc -u -l 10.0.0.10 3333 > bigfile)。
知道为什么吗?
答案1
在客户端,请尝试dd if=file bs=1M | pv -L 11m | nc -u 10.0.0.1 3333
一下。我想知道这是否与 cat 向管道中放入了多少数据有关?