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框架版本更新而产生变化,请读者注意。
热门推荐
胸腺肽肠溶片使用的正确方法
胸腺肽的作用与功效
如何修复 CS2 中的丢包问题,享受流畅游戏体验
中国科学院团队取得合成生物学治疗癌症重要进展!成功破解肿瘤与细菌的“摩斯密码”
孩子如何学算法课程
孩子如何学算法课程
狮子座与 INFJ:星座与性情的奇妙结合
永动机并不存在,为何分子可以永不停息地做无规则运动?
了解鱼类营养:热量和健康益处
确保公司名字具备国际化和未来感的技巧
因装电子猫眼被邻居告上法庭,法院:侵犯隐私应拆除
踏步而行,自有前程 ---“安全性”与“可靠性”是新能源汽车未来发展的核心
腊八蒜的科学:从颜色到营养的全面解析
牙科治疗:私立诊所与公立医院费用及效果的比较分析
PTSD症状及日常注意事项
云南哈巴雪山两年轻男子身亡,当地:系一名向导和一名徒步者
芯片SoC选型和域控设计-上|盖世大学堂舱驾、行泊一体系列知识讲解
卟啉病:罕见代谢疾病的发病机制与生活管理
上下肢康复训练器的使用方法
2025一级消防工程师报考条件和费用标准明细
膏药真的能渗透皮肤给药吗
史上首个实时AI视频生成技术:DiT通用,速度提升10.6倍
和田玉五行属什么?专家完整教学:从科学到文化,深度解读和田玉的属性与收藏
浙江省十大名菜,探寻浙菜之魂,你了解多少?
心脏像针扎一样疼一阵是怎么回事
光源亮度检测应用笔记
基于RFID技术的电缆温度监测方案及架构框架
郑和是哪个朝代的人 有哪些主要成就
【菠萝披萨的做法】夏威夷菠萝披萨的做法 菠萝披萨的做法大全
2024年全国房价收入比分析:购房压力缓解背后的深层次问题