正在打开带有临时端口的Boost.Asio UDP套接字
Opening Boost.Asio UDP socket with ephemeral port
我正在开发一个应用程序,该应用程序将通过UDP从另一个本地服务接收RTP数据包。在协议的早期,我会收到一条带有IP地址的消息,我将从中接收这些RTP数据包,但端口号将被指定为0(零)。。。我将使用临时端口打开UDP套接字。我对给定消息的响应将包含我打开的实际端口,这样发件人就可以知道将数据包定向到哪里。
我的网络库是使用boost::asio
实现套接字的。我在哪里可以找到关于如何在不指定非零端口(即使用临时端口)的情况下打开此类套接字的明确信息?在boost文档中搜索"短暂的"并不能给我带来联网结果。
当然,我愿意看到一个实际的例子,但找到好的文档也很好。
谢谢。
我会质疑使用这样的临时端口,但是…-您可以将UDP套接字绑定到端口0
,然后使用local_endpoint()
检索操作系统分配的实际端口。
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 从 Boost ASIO 获取 epoll 描述符 io_service对象
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 执行时使用 boost::asio::d eadline_timer 时出错
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- boost::asio data owning `ConstBufferSequence`
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- 如何将boost::asio::d eadline_timer 与Qt一起使用?
- 将更高的优先级设置为 boost::asio 线程处理进程
- Async_read_until限制读取的字节大小(Boost::asio)
- 程序崩溃使用boost::asio
- boost::asio 无法捕获 SIGINT
- TCP 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- 如何在 boost::asio 中将打包的结构作为消息传递?(无序列化)
- 如何使用C++和Boost Asio从HTTP发布请求中获取键值
- std::boost::asio::p ost / dispatch 使用哪个io_context?