我正在开发一个在工业环境中通过局域网使用的点对点通信网络。有些消息只是异步的,不需要响应。其他则是请求 - 回应。请求消息(和异步消息)被发送到多播组,并且对请求的回复以单播方式发送。因此,每个端点接收发送到多播组的UDP数据包,并且还接收使用普通单播发送给它的消息。如何使用boost :: asio查找UDP数据包的目标地址?
到目前为止,它工作正常,但似乎没有任何方法在boost :: asio中找出接收到的UDP数据包的目标地址(使用socket.async_receive_from) - 它是否发送到多播组或实际的界面。我可以使用消息的内容来推断它是发送多播还是单播,但是能够检查目的地址也是很好的。
我们目前正在使用Windows 7,但未来将会过渡到Linux。
有没有办法找到使用boost :: asio接收到的UDP数据包的目标地址?
感谢@汉内斯·米。我想我会选择选项c)编写代码(和消息),以便消息是接收多播还是单播都无关紧要。 – cdjc 2013-02-12 01:00:01