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

时间:2012-09-11 18:18:09

标签: c++ sockets udp boost-asio

我正在开发一个应用程序,它将通过UDP从另一个本地服务接收RTP数据包。在协议的早期,我收到一条带有IP地址的消息,我将从中接收这些RTP数据包,但端口号将被赋予为0(零)...我将使用短暂的打开我的UDP套接字港口。我对给定消息的响应将包含我打开的实际端口,以便发送方可以知道在哪里引导数据包。

我的网络库是boost::asio的套接字实现。在哪里可以找到有关如何在不指定非零端口的情况下打开此类套接字的明确信息,即使用短暂端口?在boost文档中搜索“ephemeral”并不能给我提供网络结果。

当然,我很乐意看到一个真实的例子,但找到好的文档也可以。

感谢。

1 个答案:

答案 0 :(得分:5)

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