産業環境で LAN 経由で使用するピアツーピア通信ネットワークを開発しています。一部のメッセージは単に非同期であり、応答を必要としません。その他はリクエスト-レスポンスです。要求メッセージ (および非同期メッセージ) はマルチキャスト グループに送信され、要求への応答はユニキャストで送信されます。したがって、各エンドポイントは、マルチキャスト グループに送信された UDP パケットを受信し、プレーン ユニキャストを使用して送信されたばかりのメッセージも受信します。
これまでのところ正常に動作していますが、受信したUDPパケットの宛先アドレスを見つける方法がboost::asioにはないようです(socket.async_receive_fromを使用)-マルチキャストグループに送信されたか、実際のインターフェース。メッセージの内容から、マルチキャストで送信されたのかユニキャストで送信されたのかを推測できますが、宛先アドレスも確認できると便利です。
現在は Windows 7 を使用していますが、将来的には Linux に移行する予定です。
boost::asio を使用して受信した UDP パケットの宛先アドレスを見つける方法はありますか?