C# 和 C++ 之间的映射和共享指针序列化应用程序?
可能的重复:
C++ 和 C# 中的二进制序列化/反序列化
我是正在开发一个项目,其中服务器是用 C++ 编写的(Boost 被广泛使用),客户端应用程序是用 C# 编写的。我在客户端/服务器之间序列化/反序列化消息时遇到问题。
我研究了各种替代库来实现这种跨平台序列化,Protocol Buffers 似乎是最好的......但它不支持标准库的 map
容器和 的序列化boost::shared_ptr
。
我的问题是:
- 有人可以解释一下如何使用 Protocol Buffers 序列化
map
和boost::shared_ptr
吗?或者如果失败了, - Apache 的 Thrift 可以解决这个问题吗?
- ...或者我是否在 (C#) 客户端上使用互操作 DLL?
Possible Duplicate:
Binary serialization/de-serialization in C++ and C#
I am working on a project where server is written in C++ (boost is extensively used) and the client application is written in C#. I am facing the problem while serializing/deserializing messages between client/server.
I have studied various alternative libraries for achieving this sort of cross-platform serialization, and Protocol Buffers seems to be the best... but it does not support serialization of the standard library's map
container and boost::shared_ptr
.
My question then, is:
- Can someone explain how
map
andboost::shared_ptr
could be serialized using Protocol Buffers. Or failing that, - Would Apache's Thrift work for this?
- ...Or am I stuck using interop DLLs on the (C#) client side?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如何使用 c++/cli 引用类包装 c++ 消息类,以便在客户端使用相同的 boost 序列化库。
What about wrapping the c++ message classes with c++/cli ref classes so that you use the same boost serialisation library on the client side.