Назад | Перейти на главную страницу

netcat не передает полный файл при использовании UDP

Я использую следующее, чтобы передать большой файл (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 вместо. Интересно, связано ли это с тем, сколько данных кошка помещает в канал?