物联网LWIP网络开发 广播和组播 7.3广播与组播

广播与组播基础和实现

一、广播和组播

 单播,广播,组播

物联网LWIP网络开发 广播和组播 7.3广播与组播_第1张图片

组网方式

广播应用场景

串口以太网服务器配置参数

DPU
物联网LWIP网络开发 广播和组播 7.3广播与组播_第2张图片

组播应用场景

物联网LWIP网络开发 广播和组播 7.3广播与组播_第3张图片

广播和广播IP地址划分

MAC地址

物联网LWIP网络开发 广播和组播 7.3广播与组播_第4张图片

广播IP地址

全网广播地址

255.255.255.255

局域网广播地址

/*
	网关地址:192.168.1.1
	子网掩码:255.255.255.0
	段内广播地址:192.168.1.255
*/
/*
	网关地址:192.168.1.1
	子网掩码:255.255.0.0
	段内广播地址:192.168.255.255
*/

组播IP地址

IP组播地址用于标识一个IP组播组。IANA把D类地址空间分配给组播使用,范围从224.0.0.0到239.255.255.255。

在这里插入图片描述物联网LWIP网络开发 广播和组播 7.3广播与组播_第5张图片

广播和组播实现

注意 必须使能项

#if !defined LWIP_IGMP || defined __DOXYGEN__
#define LWIP_IGMP                       1
#endif

广播实现

setsockopt参数

//SOL_SOCKET
#define SO_BROADCAST   0x0020 /* 广播许可 */				
//val = int

组播实现

//IPPROTO_IP
#define IP_ADD_MEMBERSHIP  3	/*加入组播*/
#define IP_DROP_MEMBERSHIP 4	/*退出组播*/
#define IP_MULTICAST_IF    6	/*组播默认网卡选择*/
#define IP_MULTICAST_LOOP  7	/*组播默认回环*/

//val
typedef struct ip_mreq {
    struct in_addr imr_multiaddr; /* IP multicast address of group */
    struct in_addr imr_interface; /* local IP address of interface */
} ip_mreq;

你可能感兴趣的:(lwIP网络,网络通信,stm32,网络)