Мне нужно приложение, которое отправляет UDP-пакет на какой-либо сетевой сервер и получает ответ. Сервер отвечает на тот же номер порта, откуда пришел запрос, поэтому мне сначала нужно связать() мой сокет с любым номером порта UDP.
Жесткая кодировка номера порта UDP - это плохая идея, поскольку она может использоваться любым другим приложением, работающим на одном ПК.
Есть ли способ связать сокет UDP с любым доступным портом? IMO, он должен быть эффективным способом быстрого получения свободного порта #, который используется, например, accept().
Если нет, то какая лучшая стратегия попытаться привязать и проверить статус WSAEADDRINUSE/EADDRINUSE: попробуйте порты последовательно начиная с 1025 или 1025 + rand() или других?