Открытие Boost.Asio UDP-сокета с эфемерным портом

Я работаю над приложением, которое будет получать пакеты RTP от другого локального сервиса по UDP. В начале протокола я получаю сообщение с IP-адресом, с которого я буду получать эти пакеты RTP, но номер порта будет задан как 0 (ноль) … Я должен открыть свой сокет UDP с помощью эфемерного порт. Мой ответ на данное сообщение будет содержать фактический порт, который я открыл, чтобы отправитель мог знать, куда направлять пакеты.

Моя сетевая библиотека представляет собой реализацию сокетов с boost::asio, Где я могу найти четкую информацию о том, как открыть такой сокет без указания ненулевого порта, то есть использовать эфемерный порт? Поиск в кратких документах по «эфемерному» не дает мне сетевых результатов.

Конечно, я готов увидеть реальный пример, но найти хорошую документацию тоже было бы неплохо.

Благодарю.

2

Решение

Я хотел бы задать вопрос об использовании таких временных портов, но … — вы можете привязать свой UDP-сокет к порту 0затем используйте local_endpoint() получить фактический порт, назначенный ОС.

5

Другие решения

Других решений пока нет …