广播与组播

本文介绍了广播和组播的特点及在网络通信中的应用。广播特点是全网或子网广播,可能导致网络风暴。组播作为多点通讯的折中方案,只向加入组的主机发送数据,减少了带宽占用。发送端流程包括创建数据报套接字,设置广播属性等;组播则需创建多播组并加入。接收方需创建套接字,加入多播组并绑定IP和端口。
摘要由CSDN通过智能技术生成

1、广播特点

多点通讯 全网广播:255.255.255.255 容易造成网络风暴 子网广播:x.x.x.255 只允许数据报套接字操作 /*设置网络允许广播*/ int val = 1 setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &val, sizeof(int));

2、广播发送端流程

  1. 创建数据报(udp)套接字

  2. 设置套接字属性允许广播

  3. 设置接收方IP为广播地址

  4. 设置广播端口号

  5. 发送数据

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值