在 C++ 中将 Slice 对象显式序列化为字符串或 ostream
Explicitly serialize Slice object to string or ostream in C++
有没有办法使用 ice 将 Slice 对象显式序列化为字符串?问题是有一个对象必须可以由 json / xml / ice 发送,并且由于 ice 在 Ice(Slice) 的规范语言中已经有一个平台无关的对象,所以没有必要包含另一个库,如 protobuf。但据我所知,无法显式序列化对象。我错了吗?
您可以使用 OutputStream 以 Ice 二进制格式序列化对象 API
Ice::ByteSeq inParams, outParams;
Ice::OutputStream out(communicator);
out.startEncapsulation();
Demo::CPtr c = new Demo::C;
c->s.name = "blue";
c->s.value = Demo::blue;
out.write(c);
out.writePendingValues();
out.endEncapsulation();
out.finished(inParams);
ice-demos 存储库中还有其他示例 https://github.com/zeroc-ice/ice-demos/tree/3.7/cpp98/Ice/invoke
找到 OutputStream 的文档
有没有办法使用 ice 将 Slice 对象显式序列化为字符串?问题是有一个对象必须可以由 json / xml / ice 发送,并且由于 ice 在 Ice(Slice) 的规范语言中已经有一个平台无关的对象,所以没有必要包含另一个库,如 protobuf。但据我所知,无法显式序列化对象。我错了吗?
您可以使用 OutputStream 以 Ice 二进制格式序列化对象 API
Ice::ByteSeq inParams, outParams;
Ice::OutputStream out(communicator);
out.startEncapsulation();
Demo::CPtr c = new Demo::C;
c->s.name = "blue";
c->s.value = Demo::blue;
out.write(c);
out.writePendingValues();
out.endEncapsulation();
out.finished(inParams);
ice-demos 存储库中还有其他示例 https://github.com/zeroc-ice/ice-demos/tree/3.7/cpp98/Ice/invoke
找到 OutputStream 的文档