1

我正在尝试使用消息包库在 REST 服务器客户端环境中序列化我的数据

我并使用以下代码序列化数据:

 std::vector<std::string> target;
    target.push_back("Hello,");
    target.push_back("World!");

    // Serialize it.
    msgpack::sbuffer sbuf;  // simple buffer
    msgpack::pack(&sbuf, target);

并使用fastcgipp库发送数据并使用以下行将输出发送到客户端:

 out << sbuf.data();

并且客户端收到消息但是当我尝试使用代码对其进行反序列化时:

     msgpack::sbuffer lineStream(stBinary.length());
                lineStream.write(stBinary.c_str(), stBinary.length());
               msgpack::unpacked msg;    // includes memory pool and deserialized object
                msgpack::unpack(&msg, lineStream.data(), lineStream.size());
               msgpack::object obj = msg.get();

 std::cout <<"OBJECT__" <<obj << std::endl;  //=> ["Hello", "MessagePack"]

我得到了 OUTPUT OBJECT__72 而不是预期的输出:

["Hello", "MessagePack"]

可能是什么原因?

4

0 回答 0