本篇文章,主要介紹項目中用到的數據傳輸層上的協議打解包的操作。
貼一下我的代碼地址:http://code.taobao.org/p/msgPack/src/msgPack/
一、支持
1.支持基本類型的序列化與反序列化
比如bool,uint16,uint32,uint64.,string等
2.支持vector,list,set,map,pair的特化序列與反序列化操作。
當然,以上std的類型具體類型爲支持度基本類型。
3.支持容器中的容器。
比如 list<map<> >,map<map<> >的操作。
二、使用
定義協議文件,包含
#include
"packet.h"
然後繼承類
struct Login:public Marshallable
然後就可以定義成員變量了。然後在marshal方法和unmarshal方法內部,進行對pack和unpack 就ok。
三、建議
在使用協議的時候,基本都會某個具體的字段增加會刪減某個字段,因此,使用map的字段就非常有用。使用該字段,可以擴充很多字段。
四、最大限制,支持單個協議最大數據1G,當然可以自己定義報的最大。最小
更多文章,歡迎訪問:http://blog.csdn.net/wallwind/