渲染进程之间是否无法直接通信?
来源:2-3 进程间通信

zozo_zuo
2019-08-03
老师,课程里讲的是主进程和渲染进程之间的通信,那么如果想要渲染进程之间的通信,是否必须经过主进程的转发才可以?
就是renderer process 1 -> main process -> renderer process 2
(renderer process 1 发给main process ,由main process再发给renderer process 2)
而不能 renderer process 1 -> renderer process 2
(renderer process 1直接发消息给renderer process 2)
写回答
1回答
-
你的理解是对的 是需要经过 mainProcess 的转发 请看这个帖子 https://github.com/electron/electron/issues/7193
在 ipcRender 上有一个 sendto 方法,https://electronjs.org/docs/api/ipc-renderer
ipcRenderer.sendTo(webContentsId, channel, [, arg1][, arg2][, ...])
可以直接向另外一个 webContents 发送消息,但是需要知道 webContents 的 ID,这个 ID 其实还是需要到 main process 的,所以其实还是要路过 main process
112019-08-03
相似问题