Я работаю над приложением, которое будет получать пакеты RTP от другого локального сервиса по UDP. В начале протокола я получаю сообщение с IP-адресом, с которого я буду получать эти пакеты RTP, но номер порта будет задан как 0 (ноль) … Я должен открыть свой сокет UDP с помощью эфемерного порт. Мой ответ на данное сообщение будет содержать фактический порт, который я открыл, чтобы отправитель мог знать, куда направлять пакеты.
Моя сетевая библиотека представляет собой реализацию сокетов с boost::asio
, Где я могу найти четкую информацию о том, как открыть такой сокет без указания ненулевого порта, то есть использовать эфемерный порт? Поиск в кратких документах по «эфемерному» не дает мне сетевых результатов.
Конечно, я готов увидеть реальный пример, но найти хорошую документацию тоже было бы неплохо.
Благодарю.
Я хотел бы задать вопрос об использовании таких временных портов, но … — вы можете привязать свой UDP-сокет к порту 0
затем используйте local_endpoint()
получить фактический порт, назначенный ОС.
Других решений пока нет …