더북(TheBook)

구현 예와 함께 설명하겠습니다.

코드 [C++]

CalcC2SStub.RequestAdd_Function =
    []PARAM_CalcC2SStub_RequestAdd
    { // ➊
        int sum = a + b; // ➋
        CalcS2CProxy.ResponseAdd(remote,
            RmiContext::ReliableSend,
            sum);
    }; // ➌
};

 

코드 [C#]

CalcC2SStub.RequestAdd =
    (remote, rmiContext, a, b)
    { // ➊
        int sum = a + b; // ➋
        CalcS2CProxy.ResponseAdd(remote,
            RmiContext.ReliableSend,
            sum); // ➌
    };
};

 

클라이언트에서 메시지를 보낸, 즉 원격으로 호출한 RequestAdd() 함수가 실행할 루틴을 람다식으로 넣어 주는 부분입니다. PARAM_으로 시작하는 매크로는 람다식의 매개변수를 미리 정의해 놓은 매크로입니다. [...] 부분은 람다 캡처입니다.

두 값을 더합니다.

서버에서 클라이언트에 원격으로 함수를 호출합니다. 즉, 서버에서 클라이언트로 두 값을 더한 결과 메시지를 보냅니다. 여기서 remote는 앞서 수신할 때 송신자의 식별자(HostID)입니다.

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