2.2 KiB
Synopsis
The ipc
module provides a few methods so you can send synchronous and
asynchronous messages to the browser, and also receive messages sent from
browser. If you want to make use of modules of browser from renderer, you
might consider using the remote module.
An example of echoing messages between browser and renderer:
// In browser:
var ipc = require('ipc');
ipc.on('message', function(processId, routingId, m) {
ipc.send(processId, routingId, m);
});
// In renderer:
var ipc = require('ipc');
ipc.on('message', function(m) {
console.log('Received message', m);
});
ipc.send('Hello world');
An example of sending synchronous message from renderer to browser:
// In browser:
var ipc = require('ipc');
ipc.on('browser-data-request', function(event, processId, routingId, message) {
event.result = 'THIS SOME DATA FROM THE BROWSER';
});
// In renderer:
var ipc = require('ipc');
console.log(ipc.sendChannelSync('browser-data-request', 'THIS IS FROM THE RENDERER'));
Event: 'message'
Emitted when browser sent a message to this window.
ipc.send([args...])
Send all arguments to the browser and return immediately, the browser should
handle the message by listening to the message
event.
ipc.sendSync([args...])
Send all arguments to the browser synchronously, and returns the result sent
from browser. The browser should handle the message by listening to the
sync-message
event.
Note: Usually developers should never use this API, since sending synchronous message would block the browser.
ipc.sendChannel(channel, [args...])
channel
String
This is the same with ipc.send
, except that the browser should listen to the
channel
event. The ipc.send(args...)
can be seen as
ipc.sendChannel('message', args...)
.
ipc.sendChannelSync(channel, [args...])
channel
String
This is the same with ipc.sendSync
, except that the browser should listen to
the channel
event. The ipc.sendSync(args...)
can be seen as
ipc.sendChannelSync('sync-message', args...)
.
Note: Usually developers should never use this API, since sending synchronous message would block the browser.