Отправка трансляции с расширениями Chrome

Я пишу расширение для клиента, одно из требований состоит в том, чтобы расширение также работало в автономном режиме, потому что интернет-сервисы не так надежны, бизнес моего клиента не может остановиться но может работать с «устаревшими» данными, я думаю, это хороший компромисс.

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

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

Я погуглил несколько вариантов, о которых думал изначально, но, думаю, ни один из них не сработает. Первый заключался в том, чтобы сделать это только с помощью HTTP, второй — использовать Google Native Client для написания кода C++, который мог бы запускать сетевой код и, таким образом, выполнить трансляцию, но она имеет ограничения. Прямо сейчас я думаю использовать Java-апплеты, но я действительно не знаю, есть ли у них какие-то ограничения, связанные с сетью, или есть ли у расширений Chrome какие-либо ограничения с Java-апплеты.

Любые идеи о том, как это сделать? Используя некоторые из вещей, которые я предложил, или другой подход?


person Jayr Motta    schedule 22.03.2012    source источник
comment
На этот вопрос трудно ответить, не зная, какие данные вам нужны. Что именно вам нужно сделать в автономном режиме? Какие данные вы кешируете? Что вы делаете с этими данными?   -  person Brad    schedule 22.03.2012
comment
Брэд, спасибо за ответ! Я хотел бы сохранить некоторые события, такие как заказ, сделанный клиентом, этот заказ должен быть доступен шеф-повару, а также кассиру. Я думаю, что события будут простыми сообщениями, подумайте о приложении для ресторана, оно может отправлять информацию о том, какой продукт запрашивается, стол спрашивает его, официант, обслуживающий клиента, и т. д.   -  person Jayr Motta    schedule 22.03.2012
comment
Почему бы просто не запустить локально сервер, который при необходимости синхронизируется через Интернет?   -  person Brad    schedule 22.03.2012
comment
Поскольку я хочу предоставлять его как услугу, максимальное навязчивое поведение — это попросить моего клиента установить расширение Chrome.   -  person Jayr Motta    schedule 22.03.2012
comment
Вам не разрешено делать это из JavaScript или C++ в Chrome. Однако Java-апплет должен работать.   -  person TomTasche    schedule 22.03.2012
comment
Почему это должно быть так сложно? Почему бы просто не иметь оффлайн и онлайн режим? В автономном режиме информация будет сохранена в LocalStorage. Когда сетевое подключение доступно, выполните синхронизацию с сервером.   -  person Greg Inozemtsev    schedule 25.03.2012
comment
Проблема не в том, чтобы хранить данные, как я уже сказал, проблема в том, что мне нужно распространять данные в автономном режиме без сервера.   -  person Jayr Motta    schedule 27.03.2012
comment
Chrome не очень любит Java. Вы, должно быть, видели, что плагину Java требуется ваше разрешение для запуска баров...   -  person Tarnay Kálmán    schedule 29.03.2012


Ответы (1)


Вы можете создать расширение NPAPI, которое вообще не будет ограничено Chrome.

person Tarnay Kálmán    schedule 29.03.2012