C ++ удаленный вызов метода - PullRequest
3 голосов
/ 15 марта 2012

У меня есть класс CPU, который отвечает за обработку процессов, и я в очереди процессов. Программа на стороне процессора реализована на сервере, а очередь процессов - на стороне клиента. Протокол - ПТС. Как я могу вызвать методы из класса процесса с сервера, если экземпляр этого класса был создан на стороне клиента.

Какое возможное решение этой проблемы? Может быть, проще передать объект через сеть на сервер (конечно, если это возможно)? Предоставляет ли C ++ какую-либо библиотеку RMI?

На самом деле мой класс Process имеет только один член - строку с именем, может быть, проще передать эту строку на сервер, а затем воссоздать объект на стороне сервера?

Ответы [ 3 ]

1 голос
/ 15 марта 2012

Взгляните на Thrift (http://thrift.apache.org/). Это не единственный вариант, но с ним очень легко работать, он также может вызывать методы и передавать объекты между различными языками. Вы определяете сервис с помощью специального языка, запускаете компилятор который генерирует код C ++ (или любой другой язык, который вам нравится) для клиента и сервера, а затем вы просто вызываете методы между компьютерами.

Есть хорошая презентация, которую я выложу на слайд-шоу, если вам интересно:

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

1 голос
/ 15 марта 2012

CORBA - это то, что вы действительно хотите.Он предоставляет механизмы для отправки сообщений удаленным объектам, как если бы они были локальными.

0 голосов
/ 25 марта 2014

Вы можете использовать XML-RPC. Это легкий и простой в использовании механизм RPC. Вы можете получить это здесь .

...