Я заметил странное поведение, которое работает с netcat и UDP. Я запускаю экземпляр (экземпляр 1) netcat, который прослушивает порт UDP:
nc -lu -p 10000
Итак, я запускаю еще один экземпляр netcat (экземпляр 2) и пытаюсь отправить дейтаграммы в свой процесс:
nc -u 127.0.0.1 10000
Я вижу дейтаграммы. Но если я закрою экземпляр 2 и снова запустил netcat (пример 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?