当前位置: 技术问答>linux和unix
请问我要在Linux下作多播大致应该怎么实现?
来源: 互联网 发布时间:2015-09-25
本文导语: 每一台机有几个网卡 每个网卡绑定不同网段的地址 如第一台机: eth0:192.168.0.1 eth1:192.168.1.1 eth3:192.168.2.1 第二台机: eth0:192.168.0.2 eth1:192.168.2.2 第三台机: eth0:192.168.0.3 eth1:192.168.2.3 我看进行多播的时候好像没有也没...
每一台机有几个网卡
每个网卡绑定不同网段的地址
如第一台机:
eth0:192.168.0.1
eth1:192.168.1.1
eth3:192.168.2.1
第二台机:
eth0:192.168.0.2
eth1:192.168.2.2
第三台机:
eth0:192.168.0.3
eth1:192.168.2.3
我看进行多播的时候好像没有也没有显示的说那个网卡加入那个多播组
现在我的程序运行的时候本机能受到消息,但是相连的机子收不到。
请问这是怎么回事?
关于这样的多播应该怎样实现?
每个网卡绑定不同网段的地址
如第一台机:
eth0:192.168.0.1
eth1:192.168.1.1
eth3:192.168.2.1
第二台机:
eth0:192.168.0.2
eth1:192.168.2.2
第三台机:
eth0:192.168.0.3
eth1:192.168.2.3
我看进行多播的时候好像没有也没有显示的说那个网卡加入那个多播组
现在我的程序运行的时候本机能受到消息,但是相连的机子收不到。
请问这是怎么回事?
关于这样的多播应该怎样实现?
|
我想应该是你往一个多播的地址发送消息即可,多播地址是D类IP地址224~239,然后如果你想让哪台机器接受你的数据的话,就让他们加入这个多播地址里面,当然这样实现router要支持IGMP ROUTING!
|
如果你的ip不加入某个组播组 底下驱动不会把 组播信息带上来的
|
你可能要注意一下路由表的问题
|
用socket 的setsockopt 加入一个组播组.另外也可以用ip_mc_join_group()ip_mc_join_group()加入.