C++远程方法调用

C++ remote method invoking

本文关键字:远程方法调用 C++      更新时间:2023-10-16

我有负责进程处理的类CPU,以及进程队列。CPU端程序在服务器端实现,进程队列在客户端实现。协议-TCP。若类的实例是在客户端创建的,那个么我如何从服务器调用类进程中的方法。

这个问题的可能解决方案是什么?也许通过网络将对象传递到服务器更容易(当然,如果可能的话)?C++是否提供某种RMI库?

实际上,我的Process类只有一个名为的成员字符串,也许将这个字符串传递给服务器,然后在服务器端重新创建一个对象会更容易?

CORBA才是您真正想要的。它提供了向远程对象发送消息的机制,就好像它们在本地一样。

看看Thrift(http://thrift.apache.org/)。它不是唯一的选项,但使用起来非常容易,还可以在不同的语言之间调用方法和传递对象。你用一种特殊的语言定义一个服务,运行一个为客户端和服务器生成C++代码(或你喜欢的任何其他语言)的编译器,然后你只需要在机器之间调用方法。

如果你感兴趣的话,我会在幻灯片上做一个很好的演示:

http://www.slideshare.net/dvirsky/introduction-to-thrift

您可以使用XML-RPC。它是一种轻量级且易于使用的RPC机制。你可以在这里买到。