【发布时间】:2011-08-16 00:21:14
【问题描述】:
我在 C++ 和 C# 中搜索支持客户端或服务器的 RPC 库。所以我可以用 C++ 创建客户端并与用 C# 编写的服务器对话。 我不知道 Microsoft RPC 是否允许这样做,Protocol Buffers 或 MsgPack。
【问题讨论】:
-
使用COM,它比RPC高一级,C++和C#都支持。
我在 C++ 和 C# 中搜索支持客户端或服务器的 RPC 库。所以我可以用 C++ 创建客户端并与用 C# 编写的服务器对话。 我不知道 Microsoft RPC 是否允许这样做,Protocol Buffers 或 MsgPack。
【问题讨论】:
Apache Thrift 提供了一种以任何语言定义“服务”并访问该服务的机制。在 c++ 和 c# 中都有用于开发服务的资源:
c++:http://wiki.apache.org/thrift/ThriftUsageC%2B%2B
c#:http://www.markhneedham.com/blog/2008/08/29/c-thrift-examples/
另外,虽然它并不“酷”,但 c# 和 c++ 都有 xml-rpc 客户端
c++:http://xmlrpc-c.sourceforge.net/
两者都成熟且运行良好,因此启动和运行应该是微不足道的。显然,还有更高级的协议,例如前面提到的Protocol Buffers 和MsgPack,但似乎都没有为您的目标语言提供支持 RPC 的客户端。 Bert(GitHub 成名)和Avro(Apache 基金会尝试)也是如此。
【讨论】: