ВУЗ:
Составители:
11
процедуры на сервере, а сервер печатает слова на устройстве стандартного вы -
вода.
Это распределенное приложение включает две различные исполняемые
программы: одну для клиента и одну для сервера. Подобно обычным програм -
мам , они будут получены из исходных файлов на языке C, в основном написан -
ных разработчиком . Однако некоторые из исходных файлов будут автоматиче-
ски сгенерированы RPC инструментом – компилятором MIDL.
Примерный план работы по реализации этого приложения таков. Чтобы
сделать его распределенным , Вы создадите файл, включающий функциональ-
ный прототип удаленной процедуры . Прототип связан с атрибутами, которые
описывают, каким образом данные для удаленной процедуры должны быть пе-
реданы через сеть. Атрибуты , типы данных и функциональные прототипы со-
вместно описывают интерфейс между клиентом и сервером . Интерфейс ассо-
циируется с уникальным идентификатором , позволяющим отличать этот ин-
терфейс от всех других. Вы также создадите файл, который объявляет особую
переменную – дескриптор связывания, используемую клиентом и сервером
для представления их логического соединения через этот интерфейс. Вы буде-
те, наконец, писать главные программы клиента и сервера, которые вызывают
RPC функции времени выполнения для установки интерфейса.
Программа клиента
Начнем с самого простого . Автономная программа, которая может быть
выполнена на одном компьютере, состоит из вызова одной функции, называе -
мой HelloProc:
/* файл: helloc.c (автономная программа) */
void HelloProc(unsigned char * pszString);
void main(void)
{ unsigned char * pszString = "Hello, world";
HelloProc(pszString);
}
Функция HelloProc вызывает библиотечную C функцию printf, чтобы
отобразить текст "Привет, мир":
/* файл: hellop.c */
#include <stdio.h>
void HelloProc(unsigned char * pszString)
{ printf("%s\n", pszString);
}
11 процедуры на сервере, а сервер печатает слова на устройстве стандартного вы- вода. Это распределенное приложение включает две различные исполняемые программы: одну для клиента и одну для сервера. Подобно обычным програм- мам, они будут получены из исходных файлов на языке C, в основном написан- ных разработчиком. Однако некоторые из исходных файлов будут автоматиче- ски сгенерированы RPC инструментом – компилятором MIDL. Примерный план работы по реализации этого приложения таков. Чтобы сделать его распределенным, Вы создадите файл, включающий функциональ- ный прототип удаленной процедуры. Прототип связан с атрибутами, которые описывают, каким образом данные для удаленной процедуры должны быть пе- реданы через сеть. Атрибуты, типы данных и функциональные прототипы со- вместно описывают интерфейс между клиентом и сервером. Интерфейс ассо- циируется с уникальным идентификатором, позволяющим отличать этот ин- терфейс от всех других. Вы также создадите файл, который объявляет особую переменную – дескриптор связывания, используемую клиентом и сервером для представления их логического соединения через этот интерфейс. Вы буде- те, наконец, писать главные программы клиента и сервера, которые вызывают RPC функции времени выполнения для установки интерфейса. Программа клиента Начнем с самого простого. Автономная программа, которая может быть выполнена на одном компьютере, состоит из вызова одной функции, называе- мой HelloProc : /* файл: helloc.c (автономная программа) */ void HelloProc(unsigned char * pszString); void main(void) { unsigned char * pszString = "Hello, world"; HelloProc(pszString); } Функция HelloProc вызывает библиотечную C функцию printf, чтобы отобразить текст "Привет, мир": /* файл: hellop.c */ #includevoid HelloProc(unsigned char * pszString) { printf("%s\n", pszString); }
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »