关于C++解析有关问题 序列化与反序列化
关于C++解析问题 序列化与反序列化
先序列化了一个函数
如何在反序列化
看了半天google buffer proto 没弄明白
ClientCmdStream stream;
string sBin;
ConfCmdSerializer::SerializeDelGroupFileFromDB(eGroupType, nGroupID, sFileID, sBin);
stream<<ByteStream(sBin.c_str(), sBin.length());
m_pCoreObject->Invoke(MSG_DB_SENDDBMEDIAMESSAGE, stream.Serialize().c_str());
stream.Clear();
已经把SerializeDelGroupFileFromDB序列化成了sBin
如何 反序列化 调用这个里头的函数
------解决方案--------------------
你列的代码干了以下事情:
1. 调用ConfCmdSerializer::SerializeDelGroupFileFromDB把eGroupType, nGroupID, sFileID序列化到sBin;
2. 把sBin转成ByteStream在序列化到stream;
3 调用rpc把stream发出去
你只需要反过来做就好了:
1 把收到的string转成stream;
2 从stream读出一个ByteStream
3 从ByteStream取出eGroupType, nGroupID, sFileID
流程是这样,因为你没有贴出全部代码无法给你具体的代码细节。
另外,序列化是针对数据而言,你说的序列化了一个函数是不对的。
先序列化了一个函数
如何在反序列化
看了半天google buffer proto 没弄明白
ClientCmdStream stream;
string sBin;
ConfCmdSerializer::SerializeDelGroupFileFromDB(eGroupType, nGroupID, sFileID, sBin);
stream<<ByteStream(sBin.c_str(), sBin.length());
m_pCoreObject->Invoke(MSG_DB_SENDDBMEDIAMESSAGE, stream.Serialize().c_str());
stream.Clear();
已经把SerializeDelGroupFileFromDB序列化成了sBin
如何 反序列化 调用这个里头的函数
------解决方案--------------------
你列的代码干了以下事情:
1. 调用ConfCmdSerializer::SerializeDelGroupFileFromDB把eGroupType, nGroupID, sFileID序列化到sBin;
2. 把sBin转成ByteStream在序列化到stream;
3 调用rpc把stream发出去
你只需要反过来做就好了:
1 把收到的string转成stream;
2 从stream读出一个ByteStream
3 从ByteStream取出eGroupType, nGroupID, sFileID
流程是这样,因为你没有贴出全部代码无法给你具体的代码细节。
另外,序列化是针对数据而言,你说的序列化了一个函数是不对的。