有没有办法在多个电子主进程之间进行通信?

Posted

技术标签:

【中文标题】有没有办法在多个电子主进程之间进行通信?【英文标题】:Is there a way to communicate between multiple electron main processes? 【发布时间】:2016-07-14 14:09:46 【问题描述】:

我知道 electron ipc 模块允许一个主进程与多个渲染进程通信。除此之外,有没有办法使用另一个主进程同时与多个主进程通信?

【问题讨论】:

“多主进程”是什么意思?多个 Electron 应用? 是的多个电子应用程序 【参考方案1】:

据我所知,Electron 中没有内置工具可以做到这一点。话虽如此,您的问题的答案与如何在 Node.js 中进行进程间通信的更广泛问题的答案相同,对此有多个答案。可以直接使用sockets、文件传递、数据库、消息系统、Redis等...

这个问题:What's the most efficient node.js inter-process communication library/method? 提供了一些可能的答案。其中一个答案指向 GitHub 上的 node-ipc 项目:https://github.com/RIAEvangelist/node-ipc。这个特殊的解决方案似乎使用套接字来传递消息。

【讨论】:

【参考方案2】:

这可能会有所帮助 -- https://itnext.io/multi-threading-and-multi-process-in-node-js-ffa5bb5cde98

我用child_process.fork()https://github.com/rep2recall/rep2recall/blob/1873d17e281f934b0224751a9c29a518324fb9ad/packages/e-app/app.js#L2

【讨论】:

您的第二个链接已失效 @spartygw 已修复【参考方案3】:

child_process.spawn 可以解决这个特定问题

【讨论】:

以上是关于有没有办法在多个电子主进程之间进行通信?的主要内容,如果未能解决你的问题,请参考以下文章

电子中2个浏览器窗口之间的通信

在 Electron 中的两个渲染器进程之间直接通信

Electron中页面之间的通信

使用electron进行原生应用的打包---主进程与渲染进程之间的通信

17-7-20-electron中主进程和渲染进程区别与通信

electron渲染进程与主进程通信