标签:协议 那是 对比 可扩展 个人 思考 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