searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Electron进程间通信实录

2023-12-12 01:44:08
8
0

Electron有两种类型的进程:主进程和渲染进程。主进程负责创建浏览器窗口,而渲染进程则在每个窗口中运行网页。由于安全原因,这两种进程不能直接通信。为了解决这个问题,Electron 提供了 ipcMain 和 ipcRenderer 模块来实现进程间通讯(IPC);渲染进程与渲染进程通信 由于渲染进程之间没有办法直接通信,所以得借助主进程来通信。

主进程与渲染进程通信

ipcMain:当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息,

当然也有可能从主进程向渲染进程发送消息。

ipcRenderer: 使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主

进程。 也可以接收主进程回复的消息。

自主进程到渲染进程:从Main到Renderer的消息传递,借助BrowerWindow.webContents.send()发送消息。
自渲染进程到主进程:从Renderer到Main的消息传递,借助ipcRender和ipcMain发送/接收消息。
事件机制:无论是BrowerWindow.webContents.send(),还是ipc,其实都是node的事件机制,都是EventEmitter的实例

渲染进程之间通信

  由于渲染进程之间没有办法直接通信,所以得借助主进程来通信

  • 方法一:通过localStorage.setItem(key,value)localStorage.getItem(key)传值 全局的main.js  
  • 方法二:通过渲染进程主进程传值,在由主进程通知渲染进程并传值
0条评论
0 / 1000
c****u
4文章数
0粉丝数
c****u
4 文章 | 0 粉丝