#electron #protocols #instance #message #communication
#electron #протоколы #экземпляр #Сообщение #Информационные материалы
Вопрос:
Я пытаюсь найти способ связи между экземплярами Electron. Приложение, над которым я работаю, позволяет использовать несколько экземпляров, каждый из которых связан с файлом. Я хочу иметь возможность передавать сообщение из экземпляра, созданного из протокола, во все экземпляры.
Если я получу блокировку при использовании первого экземпляра app.requestSingleInstanceLock()
, я могу использовать событие second-instance
для отправки сообщения, но только этому первому экземпляру.
Я также попытался перечислить все окна с BrowserWindow.getAllWindows()
помощью, но похоже, что они относятся к экземплярам, созданным в экземплярах electron.
Использование Electron: 9.3.1.
Ответ №1:
Я не знаю ни одного «хорошего» способа. Я думаю, вам просто нужно, чтобы одно приложение записывало в файл через fs
модуль, когда оно хочет взаимодействовать, и экземпляры приложений, которые ожидают получения сообщений, должны просматривать этот файл на предмет изменений, подобных этому:
fs.watchFile("myLogFile.log", (curr, prev) => {
// read file for the message
});
Комментарии:
1. Это решение сработало для меня. Я использовал
fs.watch
app.getPath('appData')
, чтобы передать сообщение через экземпляры.