远程对象的 C++ 调用方法(类似于 RPC)

标签 c++ windows ipc pipe rpc

我正在寻找一个 RPC 库,它允许我在另一个进程(在 Windows 上)中调用一个对象的成员函数。

我目前遇到的问题是一些服务器端对象已经存在并且有多个实例。服务器应该能够将指针/标识符传递给实现代理的客户端,然后将调用定向到远程对象实例。所以我基本上想要的是这样的:

Client:
TestProxy test = RemoteTestManager.GetTestById(123);
test.echo("bla");

其中 Test 的实例已经存在于服务器上,并且 RemoteTestManager 是客户端在另一个 rpc 调用中获得的服务器上的管理器类。此外,它最好在命名管道上运行,因为同一台机器上可以有多个服务器(实际上我想要更像一个简单的 IPC :D )。

所以我的问题实际上是:C++ 是否有类似的东西,还是我必须自己编写一个

最佳答案

就跨网络 Protocol Buffer 的低级序列化消息而言, Protocol Buffer 是一个常见的选择...

http://code.google.com/p/protobuf/

要获得更完整的 RPC 堆栈,请查看 Apache Thrift...

http://thrift.apache.org/

关于远程对象的 C++ 调用方法(类似于 RPC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390184/

相关文章:

c++ - 成员模板函数不能是虚拟的 - 解决方法?

c - 如何从标准输入正确写入非ascii文件

windows - iPad - 在 Win7 PC 上测试 HTML5 站点

windows - 各种 Windows 版本附带的 Kernel32.dll 版本列表?

c - 在 FIFO 上读取()时如何检查 EOF

c++ - 调用 FindConnectionPoint 时访问冲突写入内存

c++ - 如何在 C++ 中获得与 Fortran 相同的实值精度(Parallel Studio XE Compiler)

c++ - 从 Mat (OpenCV) 生成具有透明度的 PNG

javascript - 即使在 main 中全局分配了 ipc, Electron 菜单仍然显示单击时未定义 ipc

language-agnostic - 通知非 Web 应用程序有关网页更改的最佳方式是什么?