[Armadillo:03305] Re: debianでマルチキャストを実現したい!最終的には、Armadillo-500に実装したい。
Shin-ya Koga
email@hidden
2008年 8月 25日 (月) 20:30:38 JST
サムシングプレシャスの古賀です。
# もはや、Armadillo とは直接関係ない内容になっているよう
# ですが・・・
miyaさん([Armadillo:03304]):
>debian OSマシーンを3台用意し、マルチキャストを実現しようとしています。
>(セグメントは3台別)
>
>
>debianサーバ3台の内、1台はマルチキャストの受信が出来た
>のですが(但し、同じネットワーク内です。あまり意味がありませんが)
>
>他の2台は、立ち上げ時、以下の関数でエラーとなって先に進めません。
確認ですが、マルチキャスト受信に成功するサーバと、立ち上げ時
にエラーするサーバとでは、何か違いはあるのでしょうか?もし
違いがあるのならば、それが要因の可能性が高いので、原因究明の
手がかりになるのではないかと思います。
以下、試していないので外している可能性は大ですが、
> /* マルチキャスト・グループに参加 */
> mreq.imr_multiaddr.s_addr = mcastAddr.s_addr;
> mreq.imr_interface.s_addr = htonl(INADDR_ANY);
> rc = setsockopt(sd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
> (void *) &mreq, sizeof(mreq));
>
>
>rcは、-1です。
>errnoを調べたら
>
>no such device
>
>でした。
エラーするサーバには、ネットワークインタフェースが複数ついて
いたりしますか?
もしそうなら、mreq.imr_interace.s_addr に設定するアドレスを、
INADDR_ANY ではなく、マルチキャスト・グループの参加/受信に
使いたいインタフェースに割当たっているアドレスにすると状況が
変わったりしないでしょうか。
--
古賀信哉 (株)サムシングプレシャス
armadillo メーリングリストの案内