协议对于前后端通讯是非常重要的,作为开发新手往往不能理解和掌握协议的设计,导致增加了很多不必要的工作。
让发送端和接收端的通道能理解之间发送的数据。
四种判断消息的完整性
- 固定长度
- 特别标记/r/n
- 固定消息头+消息体结构
- 序列化后的buffer前面增加一个字符流的头部,其中有一个字段村村消息总长度。
- xm本地配置,ui配置qt,Androidl
- json,websocket http协议,注册账号,web里面登录
- protobuf,业务内部使用,各个服务之间rpc调用,即时通讯项目,游戏项目,带宽占用少的。
IDL(Interface description language)接口描述语言:将文件通过工具生成.c文件。 完整的protobuf库支持C++反射。
项目.模块.proto
base128 Bariants 表示值 : 每个字节的最高位不能直接用来表示我们的value,它是用来判断自己是否结束。0代表解释,1表示没有结束。小端形式base128。 Zigzag:针对负数进行优化,内部将int32类型负数转化为uint64来处理。都是整数用int32,有负数用sint32。
Darren老师建议把person对象进行手写一下,最起码要把protobuf文件进行修改,我觉得也是非常有必要的。从目前自己对知识掌握的程度上来看,二次学习是必须的,既然已经花了大力气就应该把知识完全掌握,那就既来之则安之吧!
原文作者:屯门山鸡叫我小鸡