常用的四种设计消息协议方式优劣对比

C结构体:

包扩展性太差
包长度固定,大小限制,多了少了都不行,数据包太大
int不是跨平台通用要用int32_t
消息内容受pod类型限制

序列化方式:

可以定义非常复杂的结构体
限制了服务器客户端都用C++,都用同样的类库
数据包大小依然很大

json:

消息紧凑,极大地优化了包的大小,压缩率非常高
可视化好,可以直接打印包的内容

protobuf:

消息文档化容易理解,可以交给数值策划填写协议
包的大小与json相比又有了更多的优化,解析速度也提高了
入数据的时候尽量不要用protobuf,可视化太差;用json更好,支持的语言多

综上所述目前最好的设计消息数据包方式是服务器和客户端通信协议推荐用protobuf,服务器存入数据库时用json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值