1、Linux下组播 IGMP(Internet Group Managerment Protocol)---- Internet组管理协议,是因特网协议家族中的一个组播协议;
2、除了组播(又称多播),还有单播和广播;具体的定义和区别网上能百度到;
3、常用的组播地址如下:
224.0.1.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效。
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
4、组播发送程序,server.c:
/*
*broadcast_server.c - 多播服务程序
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#define MCAST_PORT 8888
#define MCAST_ADDR "224.1.1.100" /*一个局部连接多播地址,路由器不进行转发*/
#define MCAST_DATA "Broadcast test data"
#define MCAST_INTERVAL 2 /*发送间隔时间*/
int main(int argc, char*argv)
{
int s;
struct sockaddr_in mcast_addr;
s = socket(AF_INET, SOCK_DGRAM, 0); /*建立套接字*/
if (s == -1)
{
perror("socket()");
return -1;
}
memset(&mcast_addr,