iOS 使用Protobuf完成HTTP和Socket通信

Protobuf(Protocol Buffer)是一种数据通信协议,相比JSON,它的传输数据量更小,而且没有对应的proto文件根本无法看懂传输的二进制格式数据,所以传输安全性也更高。

Protobuf的安装就不多做介绍了,这是之前写的Protobuf安装踩坑记录
放一个批量编译.proto文件的命令:
批量编译Module目录下的所有proto文件并输出protoc -I=./Module --objc_out=./Module ./Module/*.proto

这里主要列出使用其通信时需要处理的情况及常规写法,根据不同公司架构自行调整,下图是与后台协商后的数据包装格式,来源于游戏架构。


4483590-96de8b38f4405c26.jpeg
字很丑=_=不要在意这些细节

HTTP短连接

Request格式

字段 长度 类型 数值
0xff 4 intint32_t 大端255,小端-1677216
playerId 8 longint64_t 用户id
sessionId 8 longint64_t 会话id
size 4 intint32_t data.length+4
commandId 4 intint32_t 协议号id
data data.length NSDat
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值