`
thinkry
  • 浏览: 40241 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

主程的晋升攻略(5):HTTP协议和二进制协议的对比

阅读更多

在上一篇《主程的晋升攻略(4):TCP、消息分包和协议设计》中谈了协议设计的一些话题,这里补充聊聊HTTP协议和二进制协议的对比。

 

HTTP协议是一种文本协议,也是一种Name-Based协议,就从这两方面来说。

 

文本协议 vs 二进制协议

文本协议的特点:

    便于人

    易于阅读、理解、调试、构造

    解析复杂、冗余多

    需要考虑字符转义

 

二进制协议的特点:

    便于机器

 

Name-Based vs Position-Based

Name-Based协议 的特点:

    协议字段都用Name标识

    协议字段与位置无关

    协议字段可缺省

    新增协议字段比较方便

    解析复杂

    需要考虑字符转义

 

Position-Based协议的特点:

    每个协议字段都有特定的位置

    新增协议字段需要做好协议版本管理(protobuf这类就挺好)

    解析更高效

 

分享到:
评论

相关推荐

    亮剑.NET深入体验与实战精要2

    9.2.7 读写二进制文件 372 9.2.8 文件复制、移动、删除 374 9.3 文件夹目录操作 375 9.4 读写INI文件 376 9.5 读写注册表 379 本章常见技术面试题 381 常见面试技巧之经典问题巧回答 381 本章小结 382 第10章 网络...

    亮剑.NET深入体验与实战精要3

    9.2.7 读写二进制文件 372 9.2.8 文件复制、移动、删除 374 9.3 文件夹目录操作 375 9.4 读写INI文件 376 9.5 读写注册表 379 本章常见技术面试题 381 常见面试技巧之经典问题巧回答 381 本章小结 382 第10章 网络...

    matlab实时接收蓝牙和串口数据,并实时显示.zip

    matlab

    共享汽车管理系统.zip

    Java项目基于Springboot框架的课程设计,包含LW+ppt

    面板数据-A股公司监管距离数据集-含原始数据+参考文献+处理代码(2000-2023年).txt

    因文件较多,数据存放网盘,txt文件内包含下载链接及提取码,永久有效。失效会第一时间进行补充。样例数据及详细介绍参见文章:https://blog.csdn.net/T0620514/article/details/146715315

    储能系统中双向DC/DC变换器并联运行的下垂控制与电流分配优化

    内容概要:本文详细探讨了储能系统中双向DC/DC变换器并联运行时的下垂控制技术及其电流分配优化方法。首先介绍了下垂控制的基本概念,即通过虚拟电阻实现电流按比例分配,避免个别变换器过载或欠载。接着讨论了电压补偿机制,用于应对负载变化引起的母线电压波动。文中提供了具体的Python代码示例,展示了如何通过虚拟电阻和下垂系数进行电流分配,并通过电压补偿保持母线电压稳定。此外,还涉及了线路阻抗对电流分配的影响以及相应的在线估算方法。最后,提出了动态虚拟阻抗和自适应控制等前沿研究方向。 适合人群:从事电力电子、储能系统设计与维护的技术人员,以及对分布式电源管理感兴趣的科研人员。 使用场景及目标:适用于需要精确控制并联运行的双向DC/DC变换器电流分配的储能系统设计和调试。主要目标是提高系统的稳定性和效率,确保电流均匀分布,防止单个变换器过载或欠载。 其他说明:文中提供的代码示例和调试技巧有助于理解和实施下垂控制技术。同时,强调了参数整定的重要性,并给出了实际调试过程中的一些经验和教训。

    (源码)基于Python的微信智能聊天机器人.zip

    # 基于Python的微信智能聊天机器人 ## 项目简介 本项目旨在将微信打造成一个智能聊天机器人,支持多端部署,包括个人微信、微信公众号和企业微信应用。机器人能够进行智能对话、语音识别、图片生成等功能,并且支持丰富的插件扩展,如多角色切换、文字冒险、敏感词过滤等。 ## 项目的主要特性和功能 多端部署支持个人微信、微信公众号和企业微信应用等多种部署方式。 智能对话支持私聊及群聊的消息智能回复,支持多轮会话上下文记忆,支持GPT3、GPT3.5、GPT4模型。 语音识别可识别语音消息,通过文字或语音回复,支持Azure、Baidu、Google、OpenAI等多种语音模型。 图片生成支持图片生成和图生图(如照片修复),可选择DellE、Stable Diffusion、Replicate模型。 丰富插件支持个性化插件扩展,已实现多角色切换、文字冒险、敏感词过滤、聊天记录总结等插件。

    15kW数字充电桩开发方案:三相PFC+移相全桥电路与DSP控制详解

    内容概要:本文详细介绍了15kW数字充电桩的开发方案,重点讨论了三相PFC和移相全桥电路的设计与实现。三相PFC采用无桥维也纳结构,利用TI的DSP进行数字化控制,提高了效率并降低了直流母线电压纹波。移相全桥则通过精确的时序控制和合理的PCB布局,实现了高效的ZVS软开关。文中还探讨了双DSP架构的协同机制、散热设计、EMC优化以及通讯协议等方面的技术细节,并分享了一些开发过程中遇到的实际问题及其解决方案。 适用人群:从事电力电子、充电桩开发的技术人员,尤其是对大功率电源设计感兴趣的工程师。 使用场景及目标:适用于希望深入了解和掌握15kW充电桩开发技术的专业人士,旨在帮助他们提高设计水平,解决实际开发中的难题。 其他说明:文章不仅提供了理论指导,还结合了大量的实践经验,包括具体的电路图、代码示例和调试技巧,有助于读者更好地理解和应用相关技术。

    七彩汽球幼儿园教育教学课件模板.pptx

    七彩汽球幼儿园教育教学课件模板

    基于MATLAB Simulink自动生成TMS320F28335 DSP代码实现永磁同步电机电流环控制

    内容概要:本文详细介绍了使用MATLAB Simulink搭建模型并自动生成针对TMS320F28335 DSP的代码,用于实现永磁同步电机(PMSM)的电流环控制。主要内容涵盖硬件选择、工具链配置、PWM和ADC模块的具体应用、id=0矢量控制策略以及电流环PI控制器的设计与优化。文中强调了Simulink与DSP结合的优势,如减少手动编写寄存器配置代码的工作量,同时提供了多个实际代码片段展示生成代码的关键部分及其优化方法。 适合人群:具有一定嵌入式开发经验,特别是熟悉DSP和电机控制领域的工程师和技术爱好者。 使用场景及目标:适用于希望提高开发效率、缩短产品上市时间的研发团队。通过学习本文,读者能够掌握如何利用Simulink进行自动化代码生成功能,从而快速构建稳定可靠的PMSM控制系统。 其他说明:尽管Simulink提供的自动生成代码功能极大简化了开发流程,但在某些情况下仍需深入了解硬件特性和底层机制,以便更好地解决可能出现的问题。此外,文中提到的一些具体参数和配置可能需要根据实际情况进行适当调整。

    2023年上半年广州房地产市场总结合富.pdf

    2023年上半年广州房地产市场总结

    约瑟夫环(循环链表和顺序表) 问题描述: 编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数) 一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序

    约瑟夫环(循环链表和顺序表) 问题描述: 编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。 1.循环链表 2.顺序表

    【计算机求职笔试】资源

    【计算机求职笔试】资源

    tacacs-libs-F4.0.4.28.7fb~20231005g4fdf178-2.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统tacacs-libs-F4.0.4.28.7fb~20231005g4fdf178-2.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf tacacs-libs-F4.0.4.28.7fb~20231005g4fdf178-2.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    “壮族三月三”教学课件模板.pptx

    “壮族三月三”教学课件模板

    基于TMS320F28069的伺服驱动器设计方案详解与优化技巧

    内容概要:本文详细介绍了基于TMS320F28069的成熟量产型DIY伺服驱动器方案。硬件方面,采用四层板设计,将控制、驱动、电源、滤波等功能分区明确,选用高性能IGBT和MOS管,确保稳定性和高效性能。关键电路如PWM输出、电流环采样、PID算法等进行了深入剖析,并提供了优化建议。软件部分涵盖了ePWM模块配置、ADC采样、PID控制器实现以及FOC SVPWM算法等核心技术。此外,还特别强调了PCB布局、EMI设计、隔离电路等方面的经验教训。 适合人群:具有一定嵌入式开发经验和电机控制基础知识的研发人员和技术爱好者。 使用场景及目标:适用于希望深入了解伺服驱动器设计原理和实现方法的技术人员,旨在帮助他们掌握从硬件设计到软件编程的完整流程,提高产品性能和可靠性。 其他说明:文中提到多个具体实现细节和常见问题解决方案,对于初学者来说有一定的挑战性,建议先熟悉相关基础知识再进行尝试。

    在线商城系统设计与开发-代码.zip

    Java项目基于Springboot框架的课程设计,包含LW+ppt

    基于模糊神经网络的风光互补系统负荷功率智能分配与Simulink仿真

    内容概要:本文详细介绍了在风光互补发电系统中,利用模糊神经网络进行不同等级负荷的智能功率分配及其在Simulink/Matlab环境下的仿真实现。文中首先阐述了光伏和风机的MPPT算法,分别采用了扰动观察法和叶尖速比控制来优化能量捕获。接着深入探讨了模糊控制器的设计,包括输入输出变量选择、隶属度函数构建以及规则库制定。针对VSC逆变器的控制,讨论了锁相环参数设置和LC滤波器的应用,确保并网电流质量。此外,还分享了一些实用的仿真技巧,如Fast Restart功能的使用,以提高调试效率。 适用人群:从事电力电子、智能控制系统研究的技术人员,尤其是对风光互补发电系统感兴趣的科研工作者和工程技术人员。 使用场景及目标:适用于希望深入了解风光互补系统中智能功率分配机制的研究人员和技术开发者。目标是掌握模糊神经网络在复杂电力系统中的应用方法,提升系统的可靠性和效率。 其他说明:文章不仅提供了详细的理论分析,还包括具体的代码实现和实践经验,有助于读者更好地理解和应用于实际项目中。

    质子交换膜燃料电池阴极催化层梯度结构对其性能和耐久性的影响研究(复现论文,含详细可运行代码及解释)

    内容概要:本文复现了一篇关于质子交换膜燃料电池(PEMFC)阴极催化层梯度结构对其性能和耐久性影响的论文。文中详细介绍了1D Pt降解模型和1D PEMFC性能模型的相关参数设定、函数定义及其计算方法。通过Python代码实现了关键计算步骤,包括总表面张力、净Pt溶解速率、净Pt氧化速率、Pt颗粒直径和氧化物覆盖率的更新、Pt2+浓度场的求解、电化学活性表面积(ECSA)的计算以及极化曲线的绘制。此外,还增加了对催化剂层梯度结构的模拟,进一步探讨了其对电池性能的影响。 适合人群:具备一定编程基础和燃料电池基础知识的研发人员和技术爱好者。 使用场景及目标:适用于希望深入了解PEMFC内部机制、优化电池设计的研究人员。主要目标是通过模拟实验验证阴极催化层梯度结构对PEMFC性能和耐久性的具体影响。 阅读建议:读者可以结合论文原文,逐步理解和修改提供的Python代码,以适应不同的研究需求。同时,可以通过调整参数和边界条件,探索更多可能性。

    项目管理实用表格 - 软考高级-信息系统项目管理师

    项目管理实用表格 - 软考高级-信息系统项目管理师

Global site tag (gtag.js) - Google Analytics