Привязка на стороне клиента

Дескрипторы привязки состоят из последовательности протоколов, имени или адреса хост-компьютера серверной программы и конечной точки серверной программы. Поэтому клиентская программа должна получить или предоставить эти сведения для создания привязки.

Если клиентская программа использует автоматические дескрипторы привязки, вам не нужно писать специальный исходный код для создания привязки или управления ей. Заглушка клиента вызывает функции RPC, необходимые для установления и обслуживания привязки. Необходимо только указать, что клиент использует автоматические дескрипторы привязки в файле конфигурации приложения (ACF), и соответствующим образом разработать интерфейс. Дополнительные сведения см. в разделе Автоматические дескрипторы привязки.

Предположим, например, что вы разработали клиентскую программу, которая называлась удаленными функциями отметки времени. В этом случае заглушки выполняют всю работу, и клиент должен включить созданный файл заголовка Auto. h, чтобы получить прототипы функций для удаленных процедур. Клиентское приложение обращается к удаленным процедурам так же, как если бы они были вызваны локальными процедурами, как показано в следующем примере:

/* 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. Дополнительные сведения см. в разделе использование строковых привязок.

В большинстве сетей есть служба имен. Серверные программы могут объявлять себя в базе данных службы имен. Когда клиент начинает выполнение, он может получить сведения о его привязке из базы данных службы имен. Дополнительные сведения см. в разделе Импорт из баз данных службы имен.

Шаги, необходимые для привязки с явными и неявно управляющими маркерами, обсуждаются в следующих разделах:

Краткий обзор этих разделов см. в разделе подключение клиента и сервера.