Electron и C++ / C# | Обмен данными напрямую

192
15 ноября 2021, 09:40

Вопрос заключается только в теории.

Каким способом можно связать Electron приложение и некую программу на C++ или C#, суть заключается в мгновенном обмене данными. В идеале конечно же слушать event на Electron для асинхронных операций по обработке данных.

Какие есть варианты?

Может есть какой-то способ написать модуль для работы приложения?

Answer 1

Electron использует nodejs, поэтому код cpp можно запаковать как node module, а затем использовать его в качестве зависимости в своем приложении (см. пример: Hello World).

Следующий код эквивалентен этому на JavaScript:

module.exports.hello = () => 'world';

hello.cc (C++):

#include <node.h>
namespace demo {
using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
void Method(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = args.GetIsolate();
  args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
}
void init(Local<Object> exports) {
  NODE_SET_METHOD(exports, "hello", Method);
}
NODE_MODULE(addon, init)
}  // namespace demo

См. оригинал на EnSO: Is it possible to use c++ as back-end for Electron.js?

READ ALSO
Константный параметр в шаблоне по умолчанию

Константный параметр в шаблоне по умолчанию

Подскажите в чем ошибка при реализации следующей ситуации:

215
Как визуализировать прямой поток аудио (интернет радио)?

Как визуализировать прямой поток аудио (интернет радио)?

В интернете много плееров с визуализацией, но все они основаны на статичном mp3 файле, который либо лежит на сервере, либо загружается пользователемЯ...

172
Как отловить браузерный поиск (ctrl+F)?

Как отловить браузерный поиск (ctrl+F)?

Как отловить само событие и получить параметры поиска? Можно ли предотвратить скролл на странице в этот момент?

192
Подгрузка таблицы ajax

Подгрузка таблицы ajax

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

179