Я использую следующее, чтобы передать большой файл (11 ГБ):
cat bigfile | pv -L 11m | nc -u 10.0.0.1 3333
После 1.6Гб клиент стоп для передачи (на целевой машине я не вижу пакетов)
Это не проблема с потерянным пакетом, потому что PV находится на стороне клиента.
Оба компьютера работают под управлением Ubuntu. Для первых 1,6 ГБ я вижу в wirehark на целевой машине, что он получает пакеты, но после 1,6 ГБ PV на стороне клиента не показывает прогресс, а wirehark на целевой машине показывает, что пакеты не прибыли. Если я CTRL-C отправителя и запустил его снова, я вижу, что пакеты прибыли, поэтому я не думаю, что это проблема с сервером (netcat запускается на сервере следующим образом - nc -u -l 10.0.0.10 3333> bigfile).
Есть идеи, почему?
На стороне клиента попробуйте dd if=file bs=1M | pv -L 11m | nc -u 10.0.0.1 3333
вместо. Интересно, связано ли это с тем, сколько данных кошка помещает в канал?