Protobuf(Protocol Buffer)是一种数据通信协议,相比JSON,它的传输数据量更小,而且没有对应的proto文件根本无法看懂传输的二进制格式数据,所以传输安全性也更高。
Protobuf的安装就不多做介绍了,这是之前写的Protobuf安装踩坑记录
放一个批量编译.proto文件的命令:
批量编译Module目录下的所有proto文件并输出protoc -I=./Module --objc_out=./Module ./Module/*.proto
这里主要列出使用其通信时需要处理的情况及常规写法,根据不同公司架构自行调整,下图是与后台协商后的数据包装格式,来源于游戏架构。

字很丑=_=不要在意这些细节
HTTP短连接
Request格式
字段 | 长度 | 类型 | 数值 |
---|---|---|---|
0xff | 4 | int (int32_t ) |
大端255,小端-1677216 |
playerId | 8 | long (int64_t ) |
用户id |
sessionId | 8 | long (int64_t ) |
会话id |
size | 4 | int (int32_t ) |
data.length+4 |
commandId | 4 | int (int32_t ) |
协议号id |
dat |