MegaMufa
@MegaMufa

Как строить событийную модель для связи разных бинарны приложений?

Добрый день.
Есть приложение на компилируемом языке. Приложение догоживущее, процесс работает в фоне и общается с клиентами через сеть.

Нужно добавить возможность писать для него расширения на скриптовых языках. Мне кажется, что событийная модель тут подошла бы очень хорошо. Скрипт просто подписывается на нужные события и реагирует на них. Желательно, что бы это можно было желать без перезагрузки основного приложения.

Но с компилируемыми приложениями я работал очень мало и слабо представляю, как это реализовать?

Есдинственый вариант, который я вижу, это передавать в приложение пары событие-> адрес скрипта для запуска. Передавать это через прослушиваемый порт. В принципе вариант не плохой, даже позволяет инициировать события с внешней стороны.

У кого есть опыт в подобных вещах, подскажите, это верное нарпавление? Может для этого есть готовые решения?
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
https://github.com/jeremyong/Selene
Создаете в своем приложении некий статический класс с методами подписки на события и пробрасываете его в lua.
Там делаете нечто в стиле
App:addListener('<событие>', <коллбек>)
Скрипты просто складывать в папочку рядом с приложением. При загрузке выполнять все скрипты из папки.
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Я вижу вариант со встраиванием в ваше приложение Питона. Расширение регистрирует обработчики через вызов специальной питоней функции. При возникновении события приложение дергает питоний код, который дергает зарегистрированные обработчики.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы