1、广播特点
多点通讯 全网广播:255.255.255.255 容易造成网络风暴 子网广播:x.x.x.255 只允许数据报套接字操作 /*设置网络允许广播*/ int val = 1 setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &val, sizeof(int));
2、广播发送端流程
创建数据报(udp)套接字
设置套接字属性允许广播
设置接收方IP为广播地址
设置广播端口号
发送数据
3、广播发送示例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
#include <netinet/ip.h>
#define N 64
#define PORT 8888
int main()
{
int fd, val = 1;
if(-1 == (fd = socket(AF_INET, SOCK_DGRAM, 0))){
perror("socket");
exit(-1);
}
/*设置允许广播*/
if(-1 == setsockopt(fd, SOL_SOCKET, SO_B