Я заметил странное поведение при работе с netcat и UDP . Я запускаю экземпляр (экземпляр 1) netcat, который прослушивает порт UDP:
nc -lu -p 10000
Итак, я запускаю другой экземпляр netcat (экземпляр 2) и пытаюсь отправить дейтаграммы в свой процесс:
nc -u 127.0.0.1 10000
Я вижу дейтаграммы. Но если я закрою экземпляр 2 и перезапущу снова netcat (instance 3):
nc -u 127.0.0.1 10000
я не вижу дейтаграммы на терминале экземпляра 1. Неизвестно, что операционная система назначает другой порт источника UDP в экземпляре 3 относительно экземпляра 2, и проблема заключается в следующем: если я использую тот же исходный порт экземпляра 2 (пример 50000):
nc -u -p 50000 127.0.0.1 10000
снова экземпляр 1 netcat получает дейтаграммы. UDP - это протокол без подключения, так почему? Это стандартное поведение netcat?