Chinaunix

标题: 请教: Linux组播 [打印本页]

作者: wanghun    时间: 2006-12-02 10:21
标题: 请教: Linux组播
我的操作系统:redhat9.0
内核版本:2.4.20-8

请问以下程序是真正意义上的组播吗?底层用的是IGMP协议么?
我的组播程序如下(简化版):
send_sockfd=socket(AF_INET,SOCK_DGRAM,0);           //创建udp套接字
bzero(&mcast_addr,sizeof(struct sockaddr_in));          //清空地址结构,初始化
mcast_addr.sin_family=AF_INET;                                 //设置地址簇
inet_pton(AF_INET, "234.1.1.13", &mcast_addr.sin_addr); //设置组播地址
mcast_addr.sin_port=htons(1234);                             //设置组播端口
//设置套接口为组播套接口
setsockopt(send_sockfd, IPPROTO_IP,IP_MULTICAST_LOOP,(u_char*)0,sizeof(u_char));
//组播发送数据
sendto( send_sockfd, buf, bufSize, 0, (struct  sockaddr *)&mcast_addr, sizeof(struct sockaddr)));

另:rh9支持PIM-SM协议吗? 如何对其编程,谢谢!
作者: Bayweb    时间: 2006-12-02 11:29
原帖由 wanghun 于 2006-12-2 10:21 发表
我的操作系统:redhat9.0
内核版本:2.4.20-8

请问以下程序是真正意义上的组播吗?底层用的是IGMP协议么?
我的组播程序如下(简化版):
send_sockfd=socket(AF_INET,SOCK_DGRAM,0);           //创建udp套接 ...

>>
>>
>>rh9应该不支持PIM,只支持简单的IGMP协议,例如v1,v2
>>如果你要发PIM数据包,要自己做包。
>>
>>
作者: wanghun    时间: 2006-12-02 21:28
啊? 那哪个版本内核bsd网络编程支持PIM协议? 谢谢!

在RH9下要做PIM协议,应该怎么做啊?不会是自己写协议吧?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2