当前位置: 首页 > news >正文

总结UDP协议各类知识点

前言

本篇博客博主将详细地介绍UDP有关知识点,坐好板凳发车啦~

一.UDP特点

1.无连接

UDP传输的过程类似于发短信,知道对端的IP和端口号就直接进行传输,不需要建立连接;

2.不可靠传输

没有任何的安全机制,发送端发送数据报以后,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应用层返回任何错误信息;

3.面向数据报

应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并

4.缓存区

UDP只有接收缓冲区,没有发送缓冲区。

UDP的socket既能读,又能写,这个概念叫全双工。

5.大小受限

UDP协议首部有一个16位的最大长度。也就是说一个UDP能传输的数据最大长度是64k(包含UDP首部)。

二.UDP格式

UDP最长是16个字节,对应无符号整形范围是0-65535,也就是0-64Kb左右

检验和

 把内容中的每个字节做累加操作,在累加的过程中溢出就溢出了,最后得到一个值,把这个值记录到校验和这个位置,CRC循环冗余校验,接收方也是接收到的数据内容按同样的算法做累加,最后把计算得到的数据与校验和位的值作比较,相同则认为数据是正确的。

三.UDP套接字

针对网络编程,操作系统提供了用于网络编程的技术,称为Socket套接字,是系统提供的专门用来实现网络编程的一套API应用程序在应用层,操作系统工作在传输层,Socket套接字就是传输层对应用层提供的API支持。

3.1类和方法

1)DatagramSocket API

DatagramSocket 是UDP Socket,用于发送和接收UDP数据报。

Socket的本质也是文件,狭义上的文件是指硬盘上的文件,广义上的文件是计算机上的各种硬盘设备

Socket对应到网卡这个硬件设备,操作系统把网卡也当做一个文件来管理

通过网卡发数据就是写文件,通过网卡接收数据就是读文件。 

2)DatagramPacket API

DatagramPacket是UDP Socket发送和接收的数据报

1.DatagramPacket构造方法

 构造UDP发送的数据报时,需要传入SocketAddress,该对象可以使用InetSocketAddress来创建。

3)InetSocketAddress API

尾语

这篇博客到这里就结束啦,希望可以给大家带来帮助~

http://www.lryc.cn/news/332597.html

相关文章:

  • 设计模式 --5观察者模式
  • 跨平台的组播测试工具mping、udp_sender及udp_reciver的源码及使用教程
  • Linux基础篇:文件系统介绍——根目录下文件夹含义与作用介绍
  • vulhub中Apache Solr RemoteStreaming 文件读取与SSRF漏洞复现
  • PHP在线加密系统网站源码
  • 【C++】哈希思想的应用(位图、布隆过滤器)及海量数据处理方法
  • 蓝桥杯(5):python动态规划DF[2:背包问题]
  • 臻奶惠无人售货机:新零售时代的便捷消费革命
  • 4月04日,每日信息差
  • C++数据结构——顺序表——数值统计
  • Linux+HA高可用24X7的安全保证
  • 【Tomcat】Apache官方结束Tomcat 8.5分支版本技术支持
  • Go 源码之读写锁 sync.RWMutex
  • 大数据实验统计-1、Hadoop安装及使用;2、HDFS编程实践;3、HBase编程实践;4、MapReduce编程实践
  • PyTorch搭建Informer实现长序列时间序列预测
  • firefox切换本地服务和全球服务的方法
  • Windows下用CMake编译PugiXML及配置测试
  • python-基础篇-字符串、列表、元祖、字典-列表
  • Qt控件样式设置其一(常见方法及优缺点)
  • 软件测试(测试用例详解)(三)
  • 最优算法100例之33-字符串/数字的排列组合问题
  • Java面试题:请解释Java中的多线程编程?
  • acwing算法提高之图论--最小生成树的扩展应用
  • 政安晨:【Keras机器学习实践要点】(十七)—— 利用 EfficientNet 通过微调进行图像分类
  • wordpress全站开发指南-面向开发者及深度用户(全中文实操)--php函数
  • Linux 设备驱动管理之内核对象(Kernel Object)机制
  • 【C语言】关键字选择题
  • 营销中的归因人工智能
  • ChatGPT 的核心 GPT 模型:探究其生成式预训练变换架构的革新与应用潜力
  • Python | Leetcode Python题解之第10题正则表达式匹配