더북(TheBook)

Stub을 사용할 때는 다음과 같이 상속 클래스를 만드세요.

lass MyStub: public CalcC2S:Stub 
{
  RequestAdd(from, rmiContext, a, b)
  {
      // 여기에 코드를 입력한다.
  }
}
 
myStub = new MyStub;

StubFunctional() 함수를 쓸 때는 다음과 같이 클래스를 그대로 사용합니다. 여러분이 정의한 RMI 함수는 함수 객체 타입의 변수이므로 각 함수 객체에 루틴, 즉 함수나 람다식을 넣으면 됩니다(모던 C++ 방식입니다).

myStub = new CalcC2S::StubFunctional();
 
myStub.RequestAdd = [](from, rmiContext, a, b)
{
  // 여기에 코드를 입력한다.
}

이 두 가지 방법 중에서 여러분이 사용하기 편한 것을 선택합니다. 책에서는 두 번째 방법을 주로 다루겠습니다.

지금부터 서버와 클라이언트에 송신 코드(Proxy)와 수신 코드(Stub)를 붙이는 방법을 알아보겠습니다. 클라이언트 측에서 필요한 것은 CalcC2S.ProxyCalcS2C.Stub입니다. 서버에서 필요한 것은 CalcS2C.StubCalcC2S.Proxy입니다. PIDL 컴파일러로 생성된 이 클래스들은 NetClientNetServer에 부착해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.