找个网站懂的网站,常德做网站多少钱,wap网站系统,网站如何创建首页文章目录 通讯协议制定之常见问题、注意事项总结1. 通讯协议制定介绍小结2. 常见的问题及注意事项总结2.1 3次握手2.2 心跳检测2.3 ACK回复及重发机制2.4 通信协议版本匹配2.5 校验的重要性2.6 最大数据传输长度2.7 大小端问题2.8 通信负载能力2.9 压力测试的重要性 通讯协议制… 文章目录 通讯协议制定之常见问题、注意事项总结1. 通讯协议制定介绍小结2. 常见的问题及注意事项总结2.1 3次握手2.2 心跳检测2.3 ACK回复及重发机制2.4 通信协议版本匹配2.5 校验的重要性2.6 最大数据传输长度2.7 大小端问题2.8 通信负载能力2.9 压力测试的重要性 通讯协议制定之常见问题、注意事项总结
1. 通讯协议制定介绍小结
通讯协议又称通信规程是指通信双方对数据传送控制的一种约定约定中包括对数据格式同步方式传送速度传送步骤检纠错方式以及控制字符定义等问题做出统一规定通信双方必须共同遵守它也叫做链路控制规程根据项目中的实际应用本人总结了嵌入式开发中通讯协议制定的相关考虑因素和经验技巧已介绍如下相关内容点击可跳转阅读 通讯协议制定之交互方式、步骤介绍通讯协议制定之数据包结构介绍通讯协议制定之数据传输类型及传输规则介绍通讯协议制定之数据消息传输方式介绍通讯协议制定之数据包校验算法介绍
2. 常见的问题及注意事项总结
在项目开发实际应用中遇到过诸多问题在此对遇到过的问题进行总结做一个经验分享
2.1 3次握手
握手是通信双方建立通信连接的第一步只有双方都认为握手成功后才会建立通信常会出现一方认为握手成功开始不断的发送数据但是另外一方认为握手没有成功不会响应相关数据造成异常3次握手的过程至关重要次数必须为3次才能建立一个稳定的通信缺少一次都有可能发生问题握手需要设置超时处理机制比如在规定的时间下握手都没有成功需要执行超时处理机制通过复位、重启等处理手段消除故障
2.2 心跳检测
为了检测通信的另一方是否一直在线以确保连接的有效性心跳消息是必不可少心跳需要设置超时处理机制比如检测到持续一定时间心跳丢失需要执行超时处理机制通过复位、重启等处理手段消除故障心跳超时异常发生后通过复位、重启等处理手段消除了故障一般需要重新发起握手
2.3 ACK回复及重发机制
通信中存在诸多异常场景导致数据丢失因此设置通信交互过程时必须通过应答确认确保消息的交互成功必须设置重发机制检测到未完成完整的通信流程通过重发机制避免错误
2.4 通信协议版本匹配
实际开发过程中因为需求变更、BUG修复通信协议版本会经常发生变更经常会发生因为版本不匹配的问题造成功能异常、失效为了有效避免这类问题在协议制定时添加协议版本字段进行规避
2.5 校验的重要性
数据校验是通过对发送方持有的数据进行某种运算对接收方收到的数据也进行同样的运算并且比较这两个结果如果结果不一样肯定是传输过程中发生了错误检验字段能够有效检测、规避通信中发生的异常该字段必不可少双方使用的校验算法必须一致制定协议时就必须阐明介绍清楚使用的校验算法
2.6 最大数据传输长度
通信模块代码开发中需要考虑到最大的数据传输长度根据最大的长度来考虑数据缓存区的大小确定分配内存空间的大小对数据内容解析时需要对数据长度字段的数值进行判断避免因为数据丢失、数据纂改、数据长度值发送错误等异常造成错误发生
2.7 大小端问题
对于多字节的数据类型内容大小端问题常常发生不容忽视大小端问题和芯片的处理方式有着关联经常会发生由于大小端问题造成的各种异常
2.8 通信负载能力
通信协议制定时数据发送周期、数据传输长度等都需要考虑通信的负载能力通信负载能力和通信的稳定性、准确性成反比负载越高则稳定性、准确性越低
2.9 压力测试的重要性
为了保证通信的稳定性、准确性必须对通信链路进行压力测试压力测试不仅要测试正常的使用场景也需要提高负载、测试最大负载下的通信能力 感谢阅读 若有错误 欢迎指正