免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 C/C++ 组播
最近访问板块 发新帖
查看: 3134 | 回复: 3
打印 上一主题 下一主题

组播 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-30 11:36 |只看该作者 |倒序浏览
A和B直连,A给B发组播,B 能收到,但B给A发组播A就不能收到。
前提:A和C直连,A给C发组播,C能收到,C给A发组播A也能收到。他们都在一个多播组
问题肯定出在B那里了,但是不知道是什么问题

论坛徽章:
0
2 [报告]
发表于 2007-11-30 11:40 |只看该作者
防火墙?

论坛徽章:
0
3 [报告]
发表于 2007-11-30 12:17 |只看该作者

回复 #2 anthony1983 的帖子

不是的,难道是B的内核不支持组播发送?那为什么可以接收?
如果是内核不支持组播,在哪里修改?

论坛徽章:
0
4 [报告]
发表于 2007-11-30 12:30 |只看该作者
应该是内核没有配置的问题,
在网上搜到的
一、配置Linux支持多播IP

在默认状态下,大多Linux发行版本关闭的对多播IP的支持(red hat是打开的)。为了在Linux系统使用多播套接口,需要从新配置和编译Linux内核。下面看一下配置步骤:

1.cd /usr/src/linux

2.make menuconfig

3.选择网络选项

4.选中IP:Enable Multicasting IP一项

5.保存并从menuconfig 退出

6.运行:make dep;make clean;make bzlmage

7.cp/vmlinuz/vdimLz_good

8.cparch/i386/boot/zImage/vmlinzz

9.cd/etc

10.编辑lilo.conf,加入针对/vmlinuz_good的内核新选项

11.运行li1o

Linux内核编译后,以超级用户身份运行命令:

#router add –net 224.0.0.0 netmask 224.0.0.0 dev lo
router add –net 224.0.0.0 netmask 224.0.0.0 dev eth0



核实命令是否加入系统,运行命令:

#route –eKernel IP routing table
Destination     gatewary   Genmask       Flags  MSS  Window irtt Iface
10.0.0.0        *         255.255.255.0  U     0     0      0   eth0
127.0.0.0       *         255.0.0.0      U     0     0      0    lo
BASE_ADDRESS>MC *         240.0.0.0      U     0     0      0     lo
Default         10.0.0.1   0.0.0.0       UG    0     0      0     eth0



其中出现多播地址: 224.0.0.1。就表示配置成功了。
具体参见http://www.linuxdiyf.com/bbs/viewthread.php?tid=1217&fpage=3

[ 本帖最后由 yang_crystal 于 2007-11-30 12:48 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP