Почему прослушиватель netcat не получает сообщение netcat udp?

У меня есть netcat, прослушивающий udp-трафик на порту 8125 в терминале 1.

nc -ul 8125

и в терминале 2 я запускаю следующее (тестовое сообщение dogstatsd для устранения неполадок с подключением клиента datadog):

echo "test_metric:1|c" | nc -u -w 1 -v localhost 8125
#found 0 associations
#found 1 connections:
#    1: flags=82<CONNECTED,PREFERRED>
#   outif lo0
#   src ::1 port 50397
#   dst ::1 port 8125
#   rank info not available
#Connection to localhost port 8125 [udp/*] succeeded!

Я ожидал увидеть test_metric:1|c на выходе терминала 1, но вывода нет вообще.

Можете ли вы помочь мне понять, почему сообщение udp не отображается и как успешно отправить сообщение udp?


person Nathan Hanna    schedule 12.12.2017    source источник


Ответы (1)


Я до сих пор не знаю, почему это имеет значение, но добавление опции -4 помогло.

echo "test_metric:1|c" | nc -u -4 -w 1 localhost 8125

Вот справочная страница по опции:

-4 Заставляет nc использовать только адреса IPv4.

person Nathan Hanna    schedule 12.12.2017