더북(TheBook)

6.6 원격 메서드 호출

 

 

SendUserMessage를 이용해서 이진 데이터를 보내고, 받는 쪽에서는 OnReceiveUserMessage를 주고받는 것은 송수신 루틴을 직접 만들어야 하는 번거로움이 있습니다.

그렇지만 프라우드넷의 RMI를 이용하면 이것이 편리해집니다. RMI는 원격 메서드 호출(Remote Method Invocation)의 약어로, “상대방 컴퓨터 안에 있는 프로그램의 특정 함수를 멀리서 실행하라.”라는 의미입니다.

p271

▲ 그림 6-3 프라우드넷의 원격 메서드 호출(RMI)

 

RMI의 정체는 수동으로 만들었어야 하는 코드를 자동으로 만들어 주는 것입니다. 송신하는 쪽에서는 실제 함수 대신 송신을 담당하는 코드가 실행됩니다.

class SenderCode
{
  // 자동으로 생성되는 코드
  Knight_Move(SendTo, position, motion)
  {
      Message msg;
      msg.Write(ID_Knight_Move);
      msg.Write(position);
      msg.Write(motion);
      Send(SendTo, msg);
  }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.