码迷,mamicode.com
首页 > 微信 > 详细

客户端协议思考,对比微信协议

时间:2017-09-03 12:12:54      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:协议   那是   对比   可扩展   个人   思考   hat   实现   set   

 

做了长时间的后台,越来越感觉到客户端和服务器之间的协议,是个很值得思考的东西。

一是消息的序列化,二是消息的推送,三是要不要支持多点登陆,就是一个账号同时使用多个客户端。

这三个问题,影响到流量大小和客户端、服务器的逻辑。如果能搞好,我认为能减少服务器极多流量和压力。

序列化

首先是序列化。这里只讨论msgpack和protobuffer。在app上,我认为msgpack比protobuff好,流量少,随便定义,可扩展性和性能都特别好。不知道为什么这么多人用protobuffer,个人感觉每次都需要生成太麻烦了,而且代码写起来,get?set?what?真的那个吐血。我还是喜欢直接decode到struct里面。

网上有文章认为,msgpack对汉字支持不好(就是《msgpack明显生产力不足》的那篇文章),实际上,msgpack并不区分string和byte数组,一律有len字段,所以字符串是当做blob去解析的,如果有汉字会解析出错,那不是msgpack的问题,那是库实现的问题。

待续

 

客户端协议思考,对比微信协议

标签:协议   那是   对比   可扩展   个人   思考   hat   实现   set   

原文地址:http://www.cnblogs.com/dearplain/p/7469082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!