Обмен данными через веб-страницу и бэкэнд-компоненты C ++ - PullRequest
0 голосов
/ 10 декабря 2010

Я думаю о разработке веб-интерфейса для пакета анализа данных. Вот что я имею в виду:

Задания анализа данных передаются в очередь.

Люди могут войти в веб-интерфейс и выбрать запуск задания на локальном компьютере или добавить новое задание в очередь.

подробности:

  1. Пользователь входит в веб-приложение и может либо выбрать выполнение текущей работы в рабочей очереди на локальном компьютере, либо назначить новую работу рабочей очереди

  2. Если задание выбрано для запуска на локальном компьютере, веб-страница запрашивает пакет, установленный на локальном компьютере: «Это задание, которое у меня есть для вас. Сколько времени вам потребуется, чтобы завершить это ? "

    2.1 Пакет вернет значение (на основе эвристики) на веб-страницу

    2.2 Веб-страница может в зависимости от возвращаемого значения выбрать распределить работу по текущему машина

    2.3 Если задание выделено для текущего компьютера, пакет бэкэнда продолжает свой путь все время держать веб-страницу обновленной с прогресс, который он делает.

    Работа может занять от нескольких секунд до несколько часов до конца.

    2.4 В любое время на веб-странице может появиться сообщение «Вы слишком долго - пришлите мне то, что у вас есть " или, возможно, " У меня есть кое-что более важное для вас - пошли мне то, что имеешь ".

    Пакет может отправлять имеющиеся у него данные, подключаясь к серверной части веб-приложения. непосредственно в этой точке.

Это необходимо для запуска в Windows и Linux - поэтому я буду использовать архитектуру плагина npapi .

Веб-страница будет выполнять большую часть взаимодействия через Javascript.

Мои вопросы :

  1. Как сделать, чтобы плагин C ++ npapi возвращал значение (структуру json) в javascript веб-страницы, а затем выполнял функцию на веб-странице без выполнения веб-страницы, запрашивающей плагин (для достижения 2.1). То есть плагин инициирует взаимодействие вместо обычного «веб-страница просит плагин что-то сделать»

  2. Есть ли лучший способ реализовать 2.3, чем setInterval?

1 Ответ

1 голос
/ 12 декабря 2010

Как заставить плагин C ++ npapi возвращать значение (структуру json) в javascript веб-страницы и затем выполнять функцию на веб-странице без выполнения веб-страницы, запрашивающей плагин сделать это (для достижения 2.1).То есть - плагин инициирует взаимодействие вместо обычного «веб-страница просит плагин что-то сделать»

Использовать этот пример .

Isесть лучший способ реализовать 2.3, чем setInterval?

setInterval работает достаточно хорошо.

...