本文整理汇总了C++中Protocol::decode方法的典型用法代码示例。如果您正苦于以下问题:C++ Protocol::decode方法的具体用法?C++ Protocol::decode怎么用?C++ Protocol::decode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Protocol
的用法示例。
在下文中一共展示了Protocol::decode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: decode
Protocol* Protocol::decode(const char *bytes, int32_t len, bool decrypt)
{
int type;
memcpy(&type, bytes, sizeof(type));
bytes += sizeof(type);
len -= 4;
char *temp = new char[len];
if (decrypt)
{
rc4_state state;
rc4_init(&state, (const u_char *)INKEY.c_str(), INKEY.size());
rc4_crypt(&state, (const u_char *)bytes, (u_char *)temp, len);
}
else
{
memcpy(temp, bytes, len);
}
std::string plain(temp, len);
delete[] temp;
CCLOG("==== Client received:%s ====", plain.c_str());
Json::Reader reader;
Json::Value root;
if (!reader.parse(plain, root))
return NULL;
//int type = root["type"].asInt();
Protocol *p = Protocol::create(type);
if (p != NULL)
{
JsonStream stream(root);
p->decode(stream);
}
return p;
}