Electronでレンダラプロセス同士のIPC
8445 ワード
ズバリ
Renderer1
const ipcRenderer= require("electron").ipcRenderer;
ipcRenderer.send("message", body);
Renderer2
const ipcMain = require("electron").remote.ipcMain;
ipcMain.on("message", (event, body)=>{...});
レンダラプロセス => メインプロセス
メインプロセス => レンダラプロセス
これはよくやるのですが。
レンダラプロセス => レンダラプロセス
をやろうとして躓いたので備忘録。
NG集
Renderer1
const ipcRenderer= require("electron").ipcRenderer;
ipcRenderer.send("message", body);
Renderer2
const ipcRenderer= require("electron").ipcRenderer;
ipcRenderer.on("message", (event, body)=>{...});
チャネルが同じならipcRenderer
同士でもワンチャン...
しかし世の中そんなに甘くは無かった。
Renderer1
const ipcRenderer= require("electron").ipcRenderer;
ipcRenderer.send("message-to-main", body);
Main
const ipcRenderer= require("electron").ipcMain;
ipcMain.on("message-to-main", (event, body)=>{
event.sender.send("message-to-renderer2", body);
});
Renderer2
const ipcRenderer= require("electron").ipcrenderer;
ipcRenderer.on("message-to-renderer2", (event, body)=>{...});
メインプロセスをリレーさせる暴挙に出るも、折り返せず失敗。
Renderer1
const ipcRenderer= require("electron").ipcRenderer;
ipcRenderer.send("message", body);
Renderer2
const ipcRenderer= require("electron").ipcMain;
ipcMain.on("message", (event, body)=>{...});
Electron「ipcMain
?そんなモジュールねーよ」
ここでBrowserWindow
の存在を思い出して、受信側をremote
経由でipcMain
にしたら行けましたとさ。
Author And Source
この問題について(Electronでレンダラプロセス同士のIPC), 我々は、より多くの情報をここで見つけました https://qiita.com/dojyorin/items/2e762e0498532cdfeb2a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .