简介Linux下的多播编程
三、Linux下多播编程 Linux下多播编程的基本步骤: 多播程序框架主要包含套接字初始化、设置多播超时时间、加入多播组、发送数据、接收数据以及从多播组中离开几个方面。其步骤如下: (1)建立一个socket。 (2)然后设置多播的参数,例如超时时间TTL、本地回环许可LOOP等。 (3)加入多播组。 (4)发送和接收数据。 (5)从多播组离开。 多播程序设计使用setsockopt()函数和getsockopt()函数来实现,组播的选项是IP层的。 1.选项IP_MULTICASE_TTL 选项IP_MULTICAST_TTL允许设置超时TTL,范围为0~255之间的任何值,例如: unsigned char ttl=255; setsockopt(s,IPPROTO_IP,IP_MULTICAST_TTL,&ttl,sizeof(ttl)); 2.选项IP_MULTICAST_IF 选项IP_MULTICAST_IF用于设置组播的默认默认网络接口,会从给定的网络接口发送,另一个网络接口会忽略此数据。例如: struct in_addr addr; setsockopt(s,IPPROTO_IP,IP_MULTICAST_IF,&addr,sizeof(addr)); 参数addr是希望多播输出接口的IP地址,使用INADDR_ANY地址回送到默认接口。 默认情况下,当本机发送组播数据到某个网络接口时,在IP层,数据会回送到本地的回环接口,选项IP_MULTICAST_LOOP用于控制数据是否回送到本地的回环接口。例如: unsigned char loop; setsockopt(s,IPPROTO_IP,IP_MULTICAST_LOOP,&loop,sizeof(loop));参数loop设置为0禁止回送,设置为1允许回送。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |