Пример echo демонстрирует использование IPC-транспорта.
Показана работа с основными инструментами, позволяющими реализовать взаимодействие между программами.
Пример echo описывает простейший случай взаимодействия двух программ:
Client
передает программе Server
число (value
).Server
изменяет это число и передает новое число (result
) программе Client
.Client
выводит число result
на экран.
Чтобы организовать такое взаимодействие программ, потребуется:
Client
и Server
, используя init-описание.Ping
, который имеет один входной аргумент – исходное число (value
) и один выходной аргумент – измененное число (result
).Описание метода Ping
на языке IDL:
Ping(in UInt32 value, out UInt32 result);
Client
инициализировать все необходимые объекты (транспорт, прокси-объект, структуру запроса и др.) и вызвать интерфейсный метод.Server
подготовить все необходимые объекты (транспорт, диспетчер компонента и диспетчер программы и др.), принять запрос от клиента, обработать его и отправить ответ.Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<version>/examples/echo
Пример echo состоит из следующих исходных файлов:
client/src/client.c
– реализация программы Client
;server/src/server.c
– реализация программы Server
;resources/Server.edl
, resources/Client.edl
, resources/Responder.cdl
, resources/Pingable.idl
– статические описания;init.yaml
– init-описание.Сборка и запуск примера
См. "Сборка и запуск примеров".
Схема сборки примера echo выглядит следующим образом:
В начало