1.渲染进程发送事件,主进程响应事件并回复
-
send
和on
//主进程
ipcMain.on('haha', (event,arg) => {
event.reply('heihei','message from main process~')
})
//渲染进程
ipcRenderer.send('haha', '你好啊')
ipcRenderer.on('heihei', (event, arg) => {
event.reply('heihei','message from main process~')
})
on 监听事件, send 发送事件,通过 event.reply (只有主进程的event有)可以回复这次通信的另一方
-
invoke
和handle
这组API跟上面的区别是,invoke执行后返回一个promise,then里可以拿到handle返回的结果
2.主进程主动广播事件到渲染进程
-
webContents
的getAllWindows
方法或者fromId
方法
//主进程
ipcMain.on('haha', (event,arg) => {
webContents.getAllWebContents().forEach((item,index)=>{
item.send("heihei",index)
})
})
//渲染进程
ipcRenderer.send('haha', '你好啊')
ipcRenderer.on('heihei', (event, arg) => {
document.querySelector("#message").innerHTML = arg
})
getAllWindows 实现广播
fromId 实现指定目标发送
3.渲染进程和渲染进程之间通信
-
sendTo