FAQ

Multicastで正常に通信できません

Multicastのルーティング情報またはgatewayが設定されてない時に起こるようです。

Multicastグループにjoinする時、imr_interface.s_addrに特定のインターフェースのipアドレスを指定せず、INADDR_ANYを指定するとsetsockoptがENODEVエラーを返すようです。

200シリーズで採用している avahiというツールでは multicastを使っていますが、インターフェースのIPアドレスを指定しているために、この問題は起きません。

Multicastでエラーになった場合は、

  • gatewayを設定
  • multicastのルーティング情報を設定
  • アプリケーションを開発している場合は、avahiと同じようにインターフェースのipアドレスを指定

のどれかを試してください。

multicastのルーティング情報を設定するには

[armadillo ~]# route add -net 224.0.0.0 netmask 240.0.0.0 eth0

などとしてください。