Как привязать к любому доступному порту?

Мне нужно приложение, которое отправляет пакет UDP на некоторый сетевой сервер и получает ответ. Сервер отвечает на тот же номер порта, откуда поступил запрос, поэтому мне сначала нужно привязать () мой сокет к любому номеру порта UDP.

Жесткое кодирование номера порта UDP - плохая идея, поскольку оно может использоваться любым другим приложением, работающим на том же ПК.

Есть ли способ привязать сокет UDP к любому доступному порту? IMO, это должен быть эффективный способ быстро получить свободный номер порта, который используется, например, принять () функцию.

Если нет, то какова лучшая стратегия, чтобы попробовать связывание и проверить статус WSAEADDRINUSE / EADDRINUSE: пробовать порты последовательно, начиная с 1025, или 1025 + rand (), или какой-нибудь другой?

Ответы на вопрос(3)

Ваш ответ на вопрос