1.渲染進(jìn)程發(fā)送事件酱吝,主進(jìn)程響應(yīng)事件并回復(fù)
-
send
和on
//主進(jìn)程
ipcMain.on('haha', (event,arg) => {
event.reply('heihei','message from main process~')
})
//渲染進(jìn)程
ipcRenderer.send('haha', '你好啊')
ipcRenderer.on('heihei', (event, arg) => {
event.reply('heihei','message from main process~')
})
on 監(jiān)聽(tīng)事件, send 發(fā)送事件窍蓝,通過(guò) event.reply (只有主進(jìn)程的event有)可以回復(fù)這次通信的另一方
-
invoke
和handle
這組API跟上面的區(qū)別是腋颠,invoke執(zhí)行后返回一個(gè)promise,then里可以拿到handle返回的結(jié)果
2.主進(jìn)程主動(dòng)廣播事件到渲染進(jìn)程
-
webContents
的getAllWindows
方法或者fromId
方法
//主進(jìn)程
ipcMain.on('haha', (event,arg) => {
webContents.getAllWebContents().forEach((item,index)=>{
item.send("heihei",index)
})
})
//渲染進(jìn)程
ipcRenderer.send('haha', '你好啊')
ipcRenderer.on('heihei', (event, arg) => {
document.querySelector("#message").innerHTML = arg
})
getAllWindows 實(shí)現(xiàn)廣播
fromId 實(shí)現(xiàn)指定目標(biāo)發(fā)送
3.渲染進(jìn)程和渲染進(jìn)程之間通信
-
sendTo