udp组播
记着一个就是组播使用D类地址
先说明组播与广播
可以参考的资料
Dake423
大神的UDP 组播 广播
wiki的解释
简单说就是下面这一句
组播是一对多的传输方式,发送端将数据向一个组内发送,网络中的路由器通过底层的IGMP协议
自动将数据发送到所有监听这个组的终端。
至于广播则和组播有一些相似, 区别是路由器向子网内的每一个终端都投递一份数据包,不论这些终端是否乐于接收该数据包。
C语言实现客户端与服务端udp组播传递信息
监听端
第一步 创建套接字
int socklisten= socket(AF_INET,SOCK_DGRAM,0);
第二步 设置地址结构体
创建结构体包含监听端口的信息
struct sockaddr_in recvaddr;
recvaddr.sin_family=AF_INET;
recvaddr.sin_port=htons(2425);
recvaddr.sin_addr.s_addr=inet_addr("239.255.255.0");
第三步 设置socket为组播
SO_REUSEADDR
组播
SO_BROADCAST
广播
int sinsize=1;
setsockopt(socklisten,SOL_SOCKET,SO_REUSEADDR,&sinsize,size