广播
服务器
-
创建套接字—socket
-
fd绑定服务器IP和端口
-
初始化客户端IP和端口信息
struct sockaddr_in cli; cli.sin_family-AF_INET; cli.port=htons(端口) inet_pton(AF_INET,"xxxx.xxxx.xxxx.xxxx",&cli.adr);
-
发送数据
sendto(fd,buf,len,0 -
设置广播权限
setsockopt()
客户端 -
创建套接字
-
显示绑定IP和端口
bind() -
接受数据----server数据
recvform();
广播IP:192.168.42.255
利用setsockopt函数给sockfd开放广播权限
适用范围
只适用于局域网
server.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <string.h>
#include <arpa/inet.h>
#include <net/if.h>
#define SERVER_PORT 8000 /* 无关紧要 */
#define MAXLINE 1500
#define BROADCAST_IP "192.168.42.255"
#define CLIENT_PORT 9000 /* 重要 */
int main(void)
{
int sockfd;
struct sockaddr_in serveraddr, clientaddr;
char buf[MAXLINE];
/* 构造用于UDP通信的套接字 */
sockfd = socket(AF_INET, SOCK_DGRAM