Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Разработка файла спецификаций 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), пригодный для пересылки сетью (этот файл компонуется вместе с клиентом и сервером).





Дата публикования: 2015-04-07; Прочитано: 239 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...