正在打开带有临时端口的Boost.Asio UDP套接字

Opening Boost.Asio UDP socket with ephemeral port

本文关键字:Boost Asio 套接字 UDP      更新时间:2023-10-16

我正在开发一个应用程序,该应用程序将通过UDP从另一个本地服务接收RTP数据包。在协议的早期,我会收到一条带有IP地址的消息,我将从中接收这些RTP数据包,但端口号将被指定为0(零)。。。我将使用临时端口打开UDP套接字。我对给定消息的响应将包含我打开的实际端口,这样发件人就可以知道将数据包定向到哪里。

我的网络库是使用boost::asio实现套接字的。我在哪里可以找到关于如何在不指定非零端口(即使用临时端口)的情况下打开此类套接字的明确信息?在boost文档中搜索"短暂的"并不能给我带来联网结果。

当然,我愿意看到一个实际的例子,但找到好的文档也很好。

谢谢。

我会质疑使用这样的临时端口,但是…-您可以将UDP套接字绑定到端口0,然后使用local_endpoint()检索操作系统分配的实际端口。