Я пытаюсь отправить данные через машину, используя Netcat , используя UDP вместо TCP .
Теперь, в отличие от TCP (Netcat через TCP), который использовался для отметки завершения передачи файла путем выхода из процесса nc
, процесс UDP (Netcat over UDP) никогда не завершается, если не выполняется принудительно с помощью CTRL + C
Пример
$ pv upd_mnl_client.rb | nc -u 192.168.1.117 5555
385 B 0:00:00 [39,8kB / s] [========================== ========================================>] 100%
^ C ## Я должен сделать это, потому что процесс никогда не завершается
Любая подсказка, что мне не хватает выше.
Вы не указали - только для отправки
, поэтому у него нет возможности узнать, действительно ли вы Приняли. Если вы хотите, чтобы он тоже получал данные, вам придется сообщить об этом, когда закончите. Если вы не хотите, чтобы он получал данные, укажите - только для отправки
.
Для этого можно использовать функцию тайм-аута UDP. Например:
nc -ul -i5 <port>
Это приведет к отключению приемника UDP через 5 секунд.