Я пытаюсь использовать библиотеку пакетов сообщений для сериализации моих данных в клиентской среде сервера 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"]
Я получаю ВЫХОД
OBJECT__72
а не ожидаемый результат, который:
["Hello", "MessagePack"]
В чем может быть причина?
Задача ещё не решена.
Других решений пока нет …