Я пробовал пример , но он не работает. По-видимому, он не устанавливает параметр IPPROTO_IP / IP_MULTICAST_IF. Я могу найти boost :: asio :: ip :: multicast :: outbound_interface для IPPROTO_IP / IP_MULTICAST_IF, я пробовал, но не смог. Есть ли способ заставить boost :: asio :: ip :: multicast работать без вызова c-level setsockopt?
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));