Advertisement

C/C++后端开发学习

阅读量:

文章结构概述

  • 通信协议架构设计
      • 核心构成要素
      • 判定消息帧完整性的技术手段
      • 常见序列化协议类型
    • Protobuf框架

      • Protobuf的使用方式

        • IDL语言规范
          • 编译.proto文件流程
      • 命名规则制定

        • 在C++环境中集成protobuf
        • Protobuf编码机制

通信协议设计与优化

基本要素解析

  • 确保单帧数据的完整识别(帧完整性)
    • 具备序列化与反序列化的功能
    • 支持协议版本的升级操作,适用于客户端与服务端,并需明确标注所使用的协议版本
    • 协议设计需包含加密与解密机制,以保障通信安全
    • 实现数据压缩功能,从而有效降低传输过程中所需的数据量

消息帧完整性的判断方法

  • 1、强制设定每条信息的固定数据长度,例如规定每条信息必须发送128字节
    这种方法显然存在明显缺陷。

    • 采用特定符号作为分隔标识,例如“\r\n”
      2、若传输的信息中包含该符号,则会导致该方式失效。

    • 3、采用固定消息头head+消息体body的结构
      消息头的长度为固定值,并且其中包含用于标明消息数据长度的字段。首先接收头部信息,从中解析出完整消息的长度,再依

全部评论 (0)

还没有任何评论哟~