我正在開發一個在工業環境中通過局域網使用的點對點通信網絡。有些消息只是異步的,不需要響應。其他則是請求 - 迴應。請求消息(和異步消息)被髮送到多播組,並且對請求的回覆以單播方式發送。因此,每個端點接收發送到多播組的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