2016-10-24 3 views
1

Мне нужно иметь канал связи между моим веб-приложением, которое работает в Chrome, и собственный код в Windows. Мне нужно запустить собственный код, когда JS-запросы и передать результаты обратно из собственного кода. Среда полностью управляется, поэтому я могу установить доверительные отношения и групповые политики и т. Д.Связь между Chrome javascript и собственным кодом Windows

Я могу подумать о подготовке небольшой веб-службы, которая выполняется локально (и разрешает CORS), и вызывать эту службу с javascript, но в этом случае мне нужно для запуска этого кода навсегда.

Любые советы будут очень полезными. Если возможно, я могу попробовать записать/прочитать реестр Windows, каналы, общую память, MMF или любой другой способ сделать это.

Благодаря

+0

Хром [NaCl] (https://developer.chrome.com/native-client) позволяет песочнице C/C++ двоичная для связи с клиентской стороны JavaScript. –

+0

Благодарим вас за ответ @AlexK. Но есть ли какие-либо дополнительные требования времени выполнения для NaCl для работы в Chrome? Я спрашиваю об этом, потому что у нас так много терминалов, и было бы сложно добавить некоторые расширения или вручную внести изменения. Кроме того, может ли «двойная песочница» среда NaCl каким-то образом общаться с внешним миром? – Alpay

ответ

1

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

Другой метод Native сообщений, но это требует расширения браузера:

Native сообщениями позволяет WebExtension обмениваться сообщениями с нативного приложения, установленного на компьютере пользователя.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging https://developer.chrome.com/extensions/nativeMessaging

+0

Это что-то для расширений браузера для связи с родными приложениями? На самом деле, я искал способ обмена сообщениями между javascript и родным приложением. – Alpay

+0

Да, правильно, расширение поддерживает связь с родным приложением. Кажется, это единственный способ сделать это напрямую, без обмена информацией через центральную (облачную) службу. – kristianp