用户数据报协议UDP
UDP的格式
载荷存放的是:应用层完整的UDP数据报

报头结构:
- 源端口号:发出的信息的来源端口
- 目的端口号:信息要到达的目的端口
- UDP长度:2个字节(16位),即UDP总长度为:2^16bit = 2^10bit * 2^6bit = 1KB * 64 = 64KB.所以一个UDP的最大长度为64KB
- UDP校验和:网络的传输并非稳定传输,还有很多额外的因素.校验和可以在一定程度上判断传输的信息是否正确
UDP的特点
- 无连接:对目的IP与端口号直接传输,不要建立连接(类似于寄信)
- 不可靠:只负责发送,如果发送失败也不会给发送端返回任何错误信息(只负责发,发完就不管了)
- 面向数据报:应用层交给UDP的报文不会被进行拆分,UDP按照原样进行发送.同样也不会进行合并.
- 只有接收缓冲区:发送的信息会直接交给内核.在接收缓冲区中不能保证收到信息的顺序与发送的一致,缓冲区满后丢弃新的UDP数据.
- 全双工:UDP的socket既能发送也能接收
拓展
基于UDP怎样实现可靠传输 :
针对不可靠,可引入确认应答.确保接收端收到信息后返回应答.
针对信息接收与发送的顺序不一致,可引入序列号.给每一个发送的UDP加上一个序列号,接收端对序列号进行一定的排序可得到发送时的UDP数据顺序
还可额外引入一个超时重传,可能发送端因为网络阻塞信息没能发送到接收端,接收端无法接收信息也不会应答.当一定时间后,发送端没有收到答应可以进行信息的重传
基于UDP发送大于64KB的数据:
既然无法在传输层对数据报进行分拆,程序员可以在应用层对要发送的数据报进行手动一定的拆分.拆分成多个包后,通过多个UDP进行发送出去
相关文章:
用户数据报协议UDP
UDP的格式 载荷存放的是:应用层完整的UDP数据报 报头结构: 源端口号:发出的信息的来源端口目的端口号:信息要到达的目的端口UDP长度:2个字节(16位),即UDP总长度为:2^16bit 2^10bit * 2^6bit 1KB * 64 64KB.所以一个UDP的最大长度为64KBUDP校验和:网络的传输并非稳定传输,…...
STM32F429IGT6使用CubeMX配置外部中断按键
1、硬件电路 2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz 3、配置GPIO引脚 4、NVIC配置 PC13相同 5、生成工程配置 6、部分代码 中断回调函数 /* USER CODE BEGIN 0 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {if(GPIO_Pin GPIO_PIN_0){HAL_GPIO…...
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测) 目录 时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)效果一览基本描述模型结构程序设计参考资料效果一览...
[开发|前端] 路由守卫笔记
描述 vue-router提供的导航跳转或取消的api。 router.beforeEach 切换路由前调用 router.beforeResolve 组件内路由守卫解析之后调用,和beforeEach用法类似 router.afterEach 切换后调用 全局路由守卫有上面3个,调用时机不同 路由守卫都有3个参数 …...
网络基础——网络的由来与发展史
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、网络的由来 二、计算机网络的发展史 1、第一阶段 2、第二阶段 3、第三阶段 前言 每天都是使用网络,那么你知道网络…...
八数码(bfs)
思路: (1)用string来存储状态,用d<string,int>来记录状态变换次数; (2)在bfs过程中,先初始化(q,d);每次拿出队头状态,得到x的相对位置&am…...
CCLINK IE FIELD BASIC转MODBUS-TCP网关cclink与以太网的区别
协议的不同,数据读取困难,这是很多生产管理系统的难题。但是现在,捷米JM-CCLKIE-TCP通讯网关,让这个问题变得非常简单。这款通讯网关可以将各种MODBUS-TCP设备接入到CCLINK IE FIELD BASIC网络中,连接到MODBUS-TCP总线…...
【Rust】Rust学习 第十一章编写自动化测试
Rust 是一个相当注重正确性的编程语言,不过正确性是一个难以证明的复杂主题。Rust 的类型系统在此问题上下了很大的功夫,不过它不可能捕获所有种类的错误。为此,Rust 也在语言本身包含了编写软件测试的支持。 编写一个叫做 add_two 的将传递…...
关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run
相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人 经过几次各种尝试无果之后,博主就放弃死磕了,原谅博主是个菜鸟 后来遇到这样的问题,往往也就直接使用cm…...
Docker+rancher部署SkyWalking8.5并应用在springboot服务中
1.Skywalking介绍 Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Jav…...
代码随想录第45天 | 322. 零钱兑换、279. 完全平方数
322. 零钱兑换 动规五部曲分析如下: 确定dp数组以及下标的含义 dp[j]:凑足总额为j所需钱币的最少个数为dp[j] 确定递推公式 凑足总额为j - coins[i]的最少个数为dp[j - coins[i]],那么只需要加上一个钱币coins[i]即dp[j - coins[i]] 1就是…...
怎么加入Microsoft Cloud Partner Program?
目录 前言 加入Microsoft Cloud Partner Program 1、注册成为微软合作伙伴 2、完成合作伙伴资格要求...
LNMP简易搭建
目录 前言 一、拓扑图 二、NGINX配置 三、配置MySQL 四、配置php环境 五、部署应用 总结 前言 LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是一种常用的开发和部署网…...
CClink IE转Modbus TCP网关连接三菱FX5U PLC
捷米JM-CCLKIE-TCP 是自主研发的一款 CCLINK IE FIELD BASIC 从站功能的通讯网关。该产品主要功能是将各种 MODBUS-TCP 设备接入到 CCLINK IE FIELD BASIC 网络中。 捷米JM-CCLKIE-TCP网关连接到 CCLINK IE FIELD BASIC 总线中做为从站使用,连接到 MODBUS-TCP 总线…...
PyTorch 微调终极指南:第 1 部分 — 预训练模型及其配置
一、说明 如今,在训练深度学习模型时,通过在自己的数据上微调预训练模型来迁移学习已成为首选方法。通过微调这些模型,我们可以利用他们的专业知识并使其适应我们的特定任务,从而节省宝贵的时间和计算资源。本文分为四个部分&…...
GO学习之 微框架(Gin)
GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…...
C语言 字符指针
1、介绍 概念: 字符指针,就是字符类型的指针,同整型指针,指针指向的元素表示整型一样,字符指针指向的元素表示的是字符。 假设: char ch a;char * pc &ch; pc 就是字符指针变量,字符指…...
Springboot所有的依赖
<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 声明springboot的版本号 -->…...
Flutter BottomSheet 三段式拖拽
BottomSheetBehavior 追踪 BottomSheet系统默认实现效果准备要实现的功能点:定义三段式状态:BottomSheetBehavoir阀值定义1. 未达到滚动阀值,恢复状态2. 达到滚动阀值,更新状态 前面倒是有讲过Android原生的BottomSheetBehavior&a…...
php后端实现调用高德地图进行POI搜索
对于当前位置或者选定省市位置进行查询 接口实现 /*** 查询地址* ApiTitle (查询地址)* ApiSummary (查询地址)* ApiMethod (POST)* ApiRoute (/api/demo/address)* ApiParams (name"dart", type"integer", requiredtrue, description"省…...
避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题
Python模拟抖音扫码登录实战:破解Referer校验与Token失效的五大陷阱 当你在深夜调试抖音扫码登录接口时,控制台突然抛出403错误——这可能是每个爬虫开发者都经历过的噩梦时刻。不同于常规教程展示的理想流程,真实开发中你会遇到各种隐蔽的校…...
FireRedASR-AED-L轻量化部署教程:8GB显存以下设备也能流畅运行1.1B模型
FireRedASR-AED-L轻量化部署教程:8GB显存以下设备也能流畅运行1.1B模型 想体验专业级的本地语音识别,但被动辄几十GB的显存要求劝退?今天给大家介绍一个好消息:基于1.1B参数的FireRedASR-AED-L大模型,现在只需要不到8…...
JADX深度解析:如何高效反编译Android应用并理解其内部架构
JADX深度解析:如何高效反编译Android应用并理解其内部架构 【免费下载链接】jadx Dex to Java decompiler 项目地址: https://gitcode.com/gh_mirrors/ja/jadx JADX作为Android逆向工程领域的核心工具,能够将Dex字节码转换为可读的Java源代码。这…...
数字员工:不同场景下的落地案例全景
数字员工:不同场景下的落地案例全景 数字员工正在从概念走向规模化落地,覆盖制造、金融、零售、人力、客服等多个行业。以下是2025-2026年各领域真实应用案例的详细拆解。 一、供应链与制造场景 1. 壹沓科技:供应链物流AI Agent 企业背景&…...
抖音去水印批量下载工具:一键高效保存全网优质内容
抖音去水印批量下载工具:一键高效保存全网优质内容 【免费下载链接】TikTokDownload 抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokDownload 还在为抖音上的精彩视频无法完整保存而烦恼吗&am…...
2026届最火的降AI率网站解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,占据主流地位的降 AIGC 工具,凭借同义词替换、句式重组以及语义…...
猫抓Cat-Catch:3步解决网页视频下载难题的终极方案
猫抓Cat-Catch:3步解决网页视频下载难题的终极方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 当我们浏览网页时,总会遇…...
如何用Mermaid Live Editor轻松创建可视化图表:5个步骤告别复杂绘图工具
如何用Mermaid Live Editor轻松创建可视化图表:5个步骤告别复杂绘图工具 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/me…...
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
Go 官方标准库不提供 semaphore 类型,应使用 golang.org/x/sync/semaphore;Acquire 阻塞等待许可,TryAcquire 立即返回;必须严格配对申请与释放,且由同一 goroutine 执行;适用于 I/O 密集型资源限流&#x…...
告别printf调试:用NRF52832的UART串口实现高效日志输出(附SDK15.3配置)
NRF52832串口日志实战:从printf到高效调试的进阶之路 调试嵌入式系统就像在黑暗房间里找钥匙——传统printf调试如同每次开灯看一眼又关上,而UART日志系统则是装上了智能照明,让问题无处遁形。对于NRF52832这样的低功耗蓝牙芯片开发者来说&am…...
