"No such device"
次のコードは、マルチキャスト グループに参加しようとすると (set_option
呼び出し) 、例外をスローします。
#include <boost/asio.hpp>
int main(){
const std::string recv_addr = "232.4.130.147";
const int recv_port = 31338;
boost::asio::io_service io_service;
boost::asio::ip::udp::endpoint recv_endpoint(
boost::asio::ip::address::from_string(recv_addr),
recv_port);
boost::asio::ip::udp::socket recv_sock(io_service, recv_endpoint);
recv_sock.set_option(
boost::asio::ip::multicast::join_group(
boost::asio::ip::address::from_string(recv_addr).to_v4()
));
}
network-manager が実行されているかどうかに関係なく発生します。また、IPアドレスの設定に関係なく。
IP アドレスを手動で設定して内部ネットワークに接続すると、問題が発生します。IP が DHCP から取得される他のネットワークでは、問題はありません。
私はeth0
常にインターフェイスを起動していますが、これが唯一のアクティブな非ローカル インターフェイスです。
ここに示されているようにリッスン インターフェイスを指定しようとしましたが、代わりに例外が発生"Invalid argument"
し、Boost.Asio のドキュメントにはインターフェイスの設定について何も記載されていません。