【发布时间】:2013-02-10 22:03:37
【问题描述】:
我正在开发一个点对点通信网络,以便在工业环境中通过 LAN 使用。有些消息只是异步的,不需要响应。其他是请求-响应。请求消息(和异步消息)被发送到一个多播组,并且对请求的回复被单播发送。因此,每个端点都会接收发送到多播组的 UDP 数据包,并且还会接收使用纯单播发送给它的消息。
到目前为止,它工作正常,但在 boost::asio 中似乎没有任何方法可以找出接收到的 UDP 数据包的目标地址(使用 socket.async_receive_from)——它是否被发送到多播组或实际界面。我可以使用消息的内容来推断它是通过多播还是单播发送的,但如果还能够检查目标地址,那就太好了。
我们目前使用的是 Windows 7,但将来会过渡到 Linux。
有没有办法找到使用 boost::asio 接收到的 UDP 数据包的目标地址?
【问题讨论】:
标签: c++ networking boost udp boost-asio