进程与进程之间的通信
来源:互联网 发布:刘涛用什么软件直播 编辑:程序博客网 时间:2024/06/08 07:51
主进程
在 Electron 里,运行 package.json 里 main 脚本的进程被称为主进程。在主进程运行的脚本可以以创建 web 页面的形式展示 GUI。
渲染进程
由于 Electron 使用 Chromium 来展示页面,所以 Chromium 的多进程结构也被充分利用。每个 Electron 的页面都在运行着自己的进程,这样的进程我们称之为渲染进程。
在一般浏览器中,网页通常会在沙盒环境下运行,并且不允许访问原生资源。然而,Electron 用户拥有在网页中调用 Node.js 的 APIs 的能力,可以与底层操作系统直接交互。
主进程与渲染进程之间的通信
- 可以从主进程中直接发送消息给渲染进程
//main.js//从主进程发送消息给渲染进程mainWindow.webContents.send('main-process-messages', 'main-process-messages show')
//index.html,渲染进程中接收消息const electron = require('electron')const ipcRenderer = electron.ipcRendereripcRenderer.on('main-process-messages', function(event, message){ alert(message)})
通过ipcRenderer和ipcMain进行通信
这个是从渲染进程中发起
//index.html,渲染进程onst electron = require('electron')const ipcRenderer = electron.ipcRendererfunction sendTypeOne() { //向主进程发送消息 ipcRenderer.send('MainMsgFromRender','hellow')}// 监听主进程返回的消息ipcRenderer.on('RenderMsgFromMain', function (event, arg) { alert(arg)})
//main.jsconst electron = require('electron')//主进程const ipcMain = electron.ipcMainipcMain.on('MainMsgFromRender',function (event, arg) { console.log(arg) event.sender.send('RenderMsgFromMain',arg)})
- 通过全局变量
//main.jsglobal.sharedObject = { newTel: '000'}
//index.html,渲染进程const remote = require('electron').remotefunction sendTypeTwo() { alert(remote.getGlobal('sharedObject').newTel)}
做了一个小demo,可以下载看看了解更清楚。
demo
阅读全文
0 0
- 进程与进程之间的通信
- 进程之间与线程之间的通信
- 进程之间的通信
- 进程之间的通信
- 进程之间的通信
- 进程之间的通信
- 进程之间的通信
- 进程池和进程之间的通信
- 进程之间的通信技术
- 进程之间的通信方法
- 进程之间的通信方式
- 关于进程之间的通信
- 进程之间的通信途径
- 进程之间的通信--管道
- 进程之间的通信AIDL
- 进程之间的通信-剪切板
- 进程之间的通信方式
- aidl进程之间的通信
- Java实现找出数组中重复的数字
- 第四章 面向对象(上)
- 单例设计模式
- 关联容器和顺序容器
- POJ 2955
- 进程与进程之间的通信
- FFMPEG Qt视频播放器之播放控制
- TensorFlow图变量tf.Variable的用法解析
- python数据可视化(三)字云
- 55. Jump Game
- czl的知识点整理3——LCA
- 嵌入式Linux驱动笔记(十六)------设备驱动模型(kobject、kset、ktype)
- electron介绍及安装
- spring源码分析(一)IOC管理Bean