Electron进程间通信(IPC)详解:三种主要通信方式及实现步骤
创作时间:
作者:
@小白创作中心
Electron进程间通信(IPC)详解:三种主要通信方式及实现步骤
引用
CSDN
1.
https://blog.csdn.net/sallyyellow/article/details/144139084
在Electron框架中,进程间通信(IPC)是构建功能丰富的桌面应用程序的关键。本文将深入探讨Electron中的IPC机制,主要包括三个方面:渲染进程到主进程的单向通信、渲染进程与主进程之间的双向通信,以及主进程到渲染进程的单向通信。通过ipcMain和ipcRenderer模块,Electron实现了不同进程间的消息传递,从而确保了应用程序的高效运行和功能的丰富性。
1、渲染进程→主进程(单向)
概述:在渲染器进程中使用
ipcRenderer.send发送消息,在主进程中使用ipcMain.on接收消息。常用于:在 Web 中调用主进程的 API,例如下面这个需求:
需求:点击按键后,在用户的 D 盘创建一个 hello.txt 的文件,文件内容来自于用户输入
实现步骤:
- 在index.html页面中添加相关元素
- 在render.js中添加对应脚本
- 在preload.js中使用
ipcRenderer.send('信道','参数')发送信息,与主进程通信
- 在main.js主进程中接收信息,并定义函数执行操作
2、渲染进程⇌主进程(双向)
概述:渲染进程通过
ipcRenderer.invoke发送消息 ,主进程使用ipcMain.handle接收并处理消息。备注:ipcRenderer.invoke的返回值是Promise实例。常用于:从渲染器进程调用主进程方法并等待结果,例如下面这个需求:
需求:点击按键后,从 D 盘读取 hello.txt 的文件的内容,并将结果呈现在页面上
实现步骤:
- 在index.html页面中添加相关元素
- 在render.js中添加对应脚本
- 在preload.js中使用
ipcRenderer.invoke('信道','参数')发送信息,与主进程通信 - 在main.js主进程中接收信息,并定义函数执行操作
- 在render.js中接收从main.js->preload.js得到的结果
3、主进程→渲染进程
概述:主进程使用
win.webContents.send发送消息,在渲染进程中使用ipcRenderer.on接收消息。常用于:从主进程主动发送消息到渲染进程,例如下面这个需求:
需求:应用加载6秒后,主动给渲染进程发送一个消息,内容是:hello
实现步骤:
- 在index.html页面中添加相关元素,render.js中添加对应脚本
- 在preload.js中使用
ipcRenderer.send('信道','参数')接收消息,并配置回调函数 - 在main.js主进程中在合适的时候,使用
win.webContents.send('信道','参数')发送消息
本文原文发布于2024年11月29日,部分内容可能随Electron框架版本更新而产生变化,请读者注意。
热门推荐
什么是儒家思想?各朝代的统治者为何都以儒家思想为主?
长安vs洛阳:唐朝历史大城,谁主沉浮?
CD138:Syndecan-1在生命科学与临床诊断中的重要作用
CD138:Syndecan-1在生命科学与临床诊断中的重要作用
科普小知识——健康饮食常识
一文详解C++个人信息管理系统开发:六大步骤助你轻松上手
郑州举办建筑迁移保护学术沙龙,20位专家共议城市更新与灾害防治
肿瘤防治指南:从日常预防到早期筛查
清华团队创AI肿瘤预警系统,中西医结合助力癌症防治
梦境和现实的边界,《盗梦空间》里探索人性不同的一面
专家解析中西医结合抗癌:减毒增效,延长生存期

梅治家:84岁高龄坚守肿瘤防治一线,从医60年未退休
杭州下沙打卡圣地:金沙湖公园四季美图
麦哲伦环球首航,张骞凿空西域:16位探险家的勇敢征程
认知科学如何研究人类的梦境控制和清醒梦?
“盗梦”“造梦”不再遥不可及
汉宣帝名气不及汉武帝,为何能彻底打败连汉武帝都打不败的匈奴?
仓鼠饲养全攻略:打造完美小天地,让萌宠健康快乐成长
汉朝文化:多元融合与深远影响
汉代建筑成就及特点是什么
汉族统治的盛世与变迁
14.7%剖腹产妈妈陷抑郁困境,三大维度助你科学应对
剖宫产术后并发症预防指南:五大风险及应对方案
想让植物叶片更绿?这8个方法最有效
牛奶浇花:杜鹃花养护新方法,浓度控制是关键
用对浇花水,花卉长得壮:6种液体代替自来水
高速公路信息化大会释放信号:智慧收费站即将迎来爆发期
合肥周边自驾游指南:薰衣草庄园、古镇茶镇任你选
广州塔:600米高空的浪漫与刺激
南通运用十维数据分析精准监管群租房,已排查整改万余隐患