[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 メーリングリストの案内