예제(RPC)
SDK(플랫폼 소프트웨어 개발 키트)에는 다음과 같이 다양한 RPC(원격 프로시저 호출) 개념을 보여 주는 예제가 포함되어 있습니다.
ASYNCRPC는 비동기 원격 프로시저 호출을 사용하는 RPC 애플리케이션의 구조를 보여 줍니다. 또한 호출 완료에 대한 다양한 알림 방법을 보여 줍니다.
CLUUID는 클라이언트 개체 UUID를 사용하여 클라이언트가 원격 프로시저의 여러 구현 중에서 선택할 수 있도록 하는 방법을 보여 줍니다.
DATA 디렉터리에는 4개의 프로그램이 포함되어 있습니다. DUNION은 차별된(없음 캡슐화되지 않은) 공용 구조체를 보여 줍니다. INOUT에서는 [in], [out] 매개 변수를 보여 줍니다. REPAS는 represent_as 특성을 보여 줍니다. XMIT는 transmit_as 특성을 보여 줍니다.
DYNEPT는 동적 엔드포인트를 통해 서버에 대한 연결을 관리하는 클라이언트 애플리케이션을 보여 줍니다.
FILEREP 디렉터리에는 개발자가 간단한 파일 복제 서비스, 다중 사용자 파일 복제 서비스, 보안 기능을 지원하는 서비스 및 RPC 비동기 파이프를 사용하는 서비스를 작성하는 방법을 보여 주는 네 가지 샘플이 포함되어 있습니다.
HANDLES 디렉터리에는 각각 auto_handle, [ context_handle] 및 제네릭(사용자 정의) 핸들을 보여 주는 AUTO, CXHNDL, USRDEF의 세 가지 프로그램이 포함되어 있습니다.
HELLO는 "Hello, world"의 클라이언트/서버 구현입니다.
PICKLE 디렉터리에는 두 가지 프로그램이 있습니다. PICKLP는 데이터 프로시저 serialization을 보여 줍니다. PICKLT는 데이터 형식 serialization을 보여 줍니다. 두 프로그램 모두 [인코딩] 및 [디코딩] 특성을 사용합니다.
PIPES는 파이프 형식 생성자의 사용을 보여 줍니다.
RPCSVC는 RPC를 사용하여 서비스의 구현을 보여 줍니다.
STROUT은 2차원 개체(포인터 배열)에 대해 서버에서 메모리를 할당하고 [out]-only 매개 변수로 클라이언트에 다시 전달하는 방법을 보여 줍니다. 그러면 클라이언트가 메모리를 해제합니다. 이 기술을 사용하면 스텁이 반환되는 데이터의 양을 미리 알지 못하고 서버를 호출할 수 있습니다.
또한 이 프로그램을 사용하면 사용자가 UNICODE 또는 ANSI용으로 컴파일할 수 있습니다.
이러한 프로그램의 모든 원본 파일 및 메이크파일은 플랫폼 SDK에 있습니다.
기본 RPC 애플리케이션 개발 및 간단한 예제는 자습서 topics 참조하세요.