私はexampleを試しましたが、動作しません。 IPPROTO_IP/IP_MULTICAST_IFオプションは設定されていません。私はIPPROTO_IP/IP_MULTICAST_IFのboost :: asio :: ip :: multicast :: outbound_interfaceしか見つけられませんでしたが、試しましたが失敗しました。 boost :: asio :: ip :: multicastをCレベルのsetsockoptを呼び出さずに動作させる方法はありますか?boost :: asio :: ip :: multicast :: join_groupが動作しません
boost::asio::ip::udp::endpoint listen_endpoint(
listen_address, multicast_port);
socket_.open(listen_endpoint.protocol());
socket_.set_option(boost::asio::ip::udp::socket::reuse_address(true));
socket_.bind(listen_endpoint);
// Join the multicast group.
socket_.set_option(
boost::asio::ip::multicast::join_group(multicast_address));
は 'マルチキャスト:: join_group(マルチキャストアドレス、listen_endpoint.address()。to_v4())'を使用します。 –
ご報告いただきありがとうございます。ちょうど試しましたが、 "0.0.0.0"をlisten_endpointに設定する必要があります。だから作業バージョンは boost :: asio :: ip :: udp :: endpoint listen_endpoint(udp :: v4()、multicast_port)です。 ... socket_.set_option(マルチキャスト:: join_group(アドレス:: from_string(グループ_)。to_v4()、 アドレス:: from_string(インターフェイス).to_v4())); – poordeveloper
@Stefanあなたのコメントを回答として投稿してください –