클라이언트 쪽 바인딩

바인딩 핸들은 프로토콜 시퀀스, 서버 프로그램 호스트 컴퓨터의 이름 또는 주소, 서버 프로그램 끝점으로 구성 됩니다. 따라서 클라이언트 프로그램은 바인딩을 만들기 위해이 정보를 얻거나 제공 해야 합니다.

클라이언트 프로그램에서 자동 바인딩 핸들을 사용 하는 경우 바인딩을 만들거나 관리 하기 위해 특수 소스 코드를 작성할 필요가 없습니다. 클라이언트 스텁은 바인딩을 설정 하 고 유지 관리 하는 데 필요한 RPC 함수를 호출 합니다. 클라이언트에서 응용 프로그램 구성 파일 (ACF)의 자동 바인딩 핸들을 사용 하 고 그에 따라 인터페이스를 디자인 하도록 지정 하면 됩니다. 자세한 내용은 자동 바인딩 핸들을 참조 하세요.

예를 들어 원격 타임 스탬프 함수를 호출 하는 클라이언트 프로그램을 개발 하 고 있다고 가정 합니다. 여기서 스텁은 모든 작업을 수행 하 고 클라이언트는 생성 된 헤더 파일을 포함 하 여 원격 프로시저에 대 한 함수 프로토타입을 가져와야 합니다. 원격 프로시저에 대 한 클라이언트 응용 프로그램 호출은 다음 예제와 같이 로컬 프로시저를 호출 하는 것 처럼 나타납니다.

/* auto handle client application (fragment) */
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "auto.h"    // header file generated by the MIDL compiler
 
 
void main(int argc, char **argv)
{
    time_t t1;
    time_t t2;
    char * pszTime;
    ...
 
    GetTime(&t1);  // GetTime is a remote procedure
    GetTime(&t2);
 
    pszTime = ctime(&t1);
    printf("time 1= %s\n", pszTime);
 
    pszTime = ctime(&t2);
    printf("time 2= %s\n", pszTime);
 
    Shutdown();    // Shutdown is a remote procedure
    exit(0);
}

앞의 예제에서 볼 수 있듯이 클라이언트 응용 프로그램은 RPC 런타임 라이브러리 함수에 대 한 명시적 호출을 수행할 필요가 없습니다. 클라이언트 스텁은 관리 합니다.

응용 프로그램에서 암시적 또는 명시적 바인딩 핸들을 사용 하는 경우 클라이언트는 바인딩 정보를 가져오고 RPC 함수를 호출 하 여 핸들을 만들어야 합니다. 클라이언트에서 바인딩 정보를 얻는 위치는 응용 프로그램의 요구 사항에 따라 달라 집니다. 클라이언트 응용 프로그램을 설치 하는 설치 프로그램은 생성 되는 환경 변수에 바인딩 정보를 저장할 수 있습니다. 응용 프로그램별 구성 파일에 바인딩 정보를 저장할 수도 있습니다. 환경 변수 또는 구성 파일의 바인딩 정보는 일반적으로 문자열로 저장 되므로 클라이언트 응용 프로그램은 문자열을 바인딩으로 변환 해야 합니다. Windows XP/2000 환경에서는 Active Directory에서 바인딩 정보를 검색할 수 있습니다. 자세한 내용은 문자열 바인딩 사용을 참조 하세요.

대부분의 네트워크에는 이름 서비스가 있습니다. 서버 프로그램은 이름 서비스 데이터베이스에 직접 알릴 수 있습니다. 클라이언트는 실행을 시작할 때 이름 서비스 데이터베이스에서 해당 바인딩 정보를 가져올 수 있습니다. 자세한 내용은 이름 서비스 데이터베이스에서 가져오기를 참조 하세요.

암시적 및 명시적 핸들로 바인딩하는 데 필요한 단계에 대해서는 다음 항목에서 설명 합니다.

이러한 항목에 대 한 간략 한 개요는 클라이언트 및 서버 연결을 참조 하세요.