上传者: 42116585
|
上传时间: 2021-12-10 10:39:28
|
文件大小: 80KB
|
文件类型: -
协议设计
协议头
8字节的定长协议头。支持版本号,基于魔数的快速校验,不同服务的复用。定长协议头使协议易于解析且高效。
协议体
变长json作为协议体。json使用明文文本编码,可读性强、易于扩展、前后兼容、通用的编解码算法。json协议体为协议提供了良好的扩展性和兼容性。
协议可视化图
协议实现
/*
协议头
*/
struct MyProtoHead
{
uint8_t version; //协议版本号
uint8_t magic; //协议魔数
uint16_t server; //协议复用的服务号,标识协议之上的不同服务
uint32_t len; //协议长度(协议头长度+变长json协议体长度)
};
协议消息体
/*
协议消息体
*/
struct MyProtoMsg
{
MyPr