2012-03-15 2 views
3

프로세스 처리에 대한 책임이있는 클래스 CPU가 있고 프로세스 큐에 있습니다. CPU 측 프로그램이 서버에 구현되고 프로세스 대기열이 클라이언트 측에 있습니다. 프로토콜 - TCP. 클래스의 인스턴스가 클라이언트 측에서 작성된 경우, 서버에서 클래스 프로세스의 메소드를 호출하는 방법은 무엇입니까?C++ 원격 메소드 호출

이 문제의 해결 방법은 무엇입니까? 네트워크를 통해 개체를 서버에 전달하는 것이 더 쉬울 수도 있습니다 (물론 가능한 경우). C++은 일종의 RMI 라이브러리를 제공합니까?

실제 내 프로세스 클래스에는 이름이있는 멤버 문자열이 하나만 있습니다.이 문자열을 서버에 전달한 다음 서버 측에서 개체를 다시 만드는 것이 더 쉬울 수도 있습니다.

+0

C++ 용 라이브러리가 많이 있지만 언어 자체는 원격 지원을 제공하지 않습니다. – Nick

답변

1

CORBA 실제로 원하는 것입니다. 마치 로컬 인 것처럼 원격 객체에 메시지를 전송하는 메커니즘을 제공합니다.

+1

Ouch ... CORBA는 사용자가 실제로 수행해야하는 작업에 따라 다소 과잉이 될 수 있습니다. +1 어쨌든, 일을 제대로하기까지는 시간이 걸린다. 일단 CORBA로 서비스를 구현하는 것이 실제로 어렵지 않다는 것을 알게된다. –

1

Thrift (http://thrift.apache.org/)를 살펴보십시오. 그것은 유일한 옵션은 아니지만 작업하기가 매우 쉽습니다. 또한 메소드를 호출하고 다른 언어로 객체를 전달할 수도 있습니다. 특수 언어로 서비스를 정의하고 클라이언트와 서버에 대해 C++ 코드 (또는 원하는 다른 언어)를 생성하는 컴파일러를 실행 한 다음 시스템간에 메소드를 호출하면됩니다.

당신이 관심이 있다면 내가 slideshare에 넣어 그것에 대해 좋은 프리젠 테이션이있다 :

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

0

당신은 XML-RPC를 사용할 수 있습니다. 가볍고 사용하기 쉬운 RPC 메커니즘입니다. 그것을 얻을 수있다 here.

관련 문제