Лекция: Разработка файла спецификаций RPC

В документации Sun RPC не употребляют названия IDL, однако аналоги IDL-файлов и IDL-компилятора есть. IDL-файлами выступают файлы спецификаций RPC (с расширением ), которые обрабатывает специальная утилита rpcgen.

В первую очередь в файле спецификаций RPC задают типы данных, которые используют в качестве параметры. Часть типов отвечает стандартным типам языка С, например, и nt или long, строчный тип определяют как string, максимальную длину строки задают в угловых дужках. Сложные типы данных задают структурами (тоже определенными по правилам языка С). Часто простым типам ставят в соответствие структуры, которые содержат единственное поле.

Кроме того, в этом файле задают спецификацию RPC-приложений. Она во многом подобная описанию интерфейса (набор объявлений процедур, объединенных общим именем). Каждой процедуре присваивают номер, уникальный в пределах спецификации, всему приложению отвечает номер версии и номер приложения (program number), которое является 32-битним числом, которое уникально идентифицирует RPC-cepвер в рамках системы. Для серверов пользователя этот номер должен быть в диапазоне 0x20000000- 0x3FFFFFFF.

Приведем пример файла спецификаций RPC для задания одной процедуры с одним параметром (допустимо, что этот файл имеет название myrpc.x).

 

Имя приложения и версии, а также имена процедур принято задавать в верхнем регистре. Во время генерации заглушек имя процедуры переводится к нижнему регистру.

Файл спецификаций RPC должен обрабатываться утилитой rpcgen:

$ rpcgen myrpc.х

В результате этого на основе myrpc.x образуются такие файлы:

myrpc.h — объявление отдаленных процедур и типов, которые будут использованы в приложениях ;

myrpc_clnt.c, myrpc_svc.c — коды клиентской и серверной заглушек;

myrpc_xdr.c — код превращения типов в формат внешнего отображения (XDR), пригодный для пересылки сетью (этот файл компонуется вместе с клиентом и сервером).

еще рефераты
Еще работы по информатике