当前位置:网站首页 > 编程语言 > 正文

udp广播包和单播包的主要区别是什么(udp广播包和单播包的主要区别是什么)



一. 单播、组播、广播区别与联系

单播:在同一网络内,两个设备点对点的通信就是单播通信。

组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。

广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。

具体如下:

简单地说,单播->组播->广播,是通信数量不断增加的通信方式。当然,通信数量的增多,带来的是通信设备的资源消耗更大,整体网络环境的复杂度更高。

 

通常,我们使用组播、广播完成两件事:

 

1)将同一份数据交互到多个目的地。比如,视频会议、新闻分发,都需要将一份数据同时传输到多个设备上,供大家使用。

 

2)通过客户端请求或发现服务器。有时,我们并不知道服务器的具体信息(如IP地址),这时,我们可以采取“盲发”的方式去广播或组播信息,等待服务器收到消息盲发的消息后,返回数据,如此找到对应目标设备。

 

众所周知,TCP是可靠传输(先与另一个通信端点建立可靠连接,再传输数据),因此TCP一般只支持单播这种通信方式,而DUP通信不需要建立连接就可以发送数据,因此,通常我们说的广播、组播,都是在UDP下概念。

 

此外,广播又可以分为两类:本地广播、定向广播。

 

1)本地广播:广播地址为255.255.255.255.

 

2)定向广播:广播地址类似192.168.4.255.

二、组播实现介绍

组播的实现就略微复杂了,要实现组播,至少要经过以下步骤:

 

1)建立socket_fd

 

2)socket_fd和指定本地端口绑定

 

3)加入一个组播组

 

4)通过sendto / recvfrom进行数据的收发

 

5)离开组播组

 

6)关闭socket

 

注意:服务器和客户端必须都要加入相同的组播地址才可以。涉及到的socket属性主要是以下三个:

到此这篇udp广播包和单播包的主要区别是什么(udp广播包和单播包的主要区别是什么)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • windows10启动u盘制作(win10启动优盘的制作)2025-02-25 20:27:09
  • 字体图标库引入(字体图标库引入怎么设置)2025-02-25 20:27:09
  • 发送验证码需要收费吗(发送验证码扣钱吗)2025-02-25 20:27:09
  • py文件如何保存(py文件怎么保存)2025-02-25 20:27:09
  • 接口报错400(接口报错401)2025-02-25 20:27:09
  • 反编译工具怎么用(反编译怎么做)2025-02-25 20:27:09
  • 本机信息怎么查看手机号(手机本机信息查询)2025-02-25 20:27:09
  • 华为模拟器常用命令(华为模拟器常用命令是什么)2025-02-25 20:27:09
  • tp99(Tp9978芯片参数)2025-02-25 20:27:09
  • 卡巴斯基os(卡巴斯基是哪个国家的)2025-02-25 20:27:09
  • 全屏图片