gpt4 book ai didi

c++ - 使用 boost asio 时如何获取 UDP 远程端点?

转载 作者:太空狗 更新时间:2023-10-29 21:24:24 24 4
gpt4 key购买 nike

假设我已经为 UDP 套接字(加入了一个多播组)上的异步接收重新编码了一个处理程序:

         udpSocket.async_receive(boost::asio::buffer(buffer, sizeof(buffer)),
boost::bind(&receiveCallback,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));

这里的思路是在接收UDP包的时候,在receiveCallBack中获取remote地址和端口。怎么做?有特定的占位符吗?如果不是,一旦在回调中如何获取该信息?

最佳答案

我认为您可能想要使用 receive_from 调用,它接受 boost::asio::ip::udp::endpoint 来捕获发送者数据。

boost asio 示例中有一个示例多播接收器 here .特别是这个 block :

socket_.async_receive_from(
boost::asio::buffer(data_, max_length), sender_endpoint_,
boost::bind(&receiver::handle_receive_from, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));

关于c++ - 使用 boost asio 时如何获取 UDP 远程端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16279650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com