C++远程方法调用
C++ remote method invoking
我有负责进程处理的类CPU,以及进程队列。CPU端程序在服务器端实现,进程队列在客户端实现。协议-TCP。若类的实例是在客户端创建的,那个么我如何从服务器调用类进程中的方法。
这个问题的可能解决方案是什么?也许通过网络将对象传递到服务器更容易(当然,如果可能的话)?C++是否提供某种RMI库?
实际上,我的Process类只有一个名为的成员字符串,也许将这个字符串传递给服务器,然后在服务器端重新创建一个对象会更容易?
CORBA才是您真正想要的。它提供了向远程对象发送消息的机制,就好像它们在本地一样。
看看Thrift(http://thrift.apache.org/)。它不是唯一的选项,但使用起来非常容易,还可以在不同的语言之间调用方法和传递对象。你用一种特殊的语言定义一个服务,运行一个为客户端和服务器生成C++代码(或你喜欢的任何其他语言)的编译器,然后你只需要在机器之间调用方法。
如果你感兴趣的话,我会在幻灯片上做一个很好的演示:
http://www.slideshare.net/dvirsky/introduction-to-thrift
您可以使用XML-RPC。它是一种轻量级且易于使用的RPC机制。你可以在这里买到。
相关文章:
- 如何强制从重写方法调用重写的方法基方法?
- C++:使用方法调用析构函数的顺序是什么?
- 派生类调用父类的方法,该方法调用重写的虚拟方法调用错误的方法
- 使用 object 中的方法调用带有 std::bind 和 std::function.target 的 C 样式函数
- 指向类方法调用的指针
- 如何使用 SFINAE 在方法调用中有条件地定义变量?
- 是否有可以处理方法调用依赖关系的设计模式?
- 如何缩短C++中的方法调用?
- 从部分专用模板方法调用模板非静态方法
- 有没有办法禁止派生类中的基类方法调用?
- 为什么这C++只在编译器上编码一个不明确的方法调用Microsoft?
- 从父方法调用子方法
- 如何将子方法调用到父方法
- 虚拟函数在哪里使用 vpointer to vtable 来解析方法调用,非虚拟方法存储在哪里以及如何解析它们?
- 从静态方法调用静态函数指针
- 从同一类中的另一个方法调用方法时出错
- 方法调用意外地像 l 值一样起作用
- C++远程方法调用
- 检查COM方法调用是本地调用还是远程调用
- 是否有可能通过远程方法调用将linux中的c++程序与作为服务器的c#程序进行通信?