electron/docs/api/ipc-main-process.md
2015-03-27 07:46:26 -05:00

1.3 KiB

ipc (main process)

Handles asynchronous and synchronous message sent from a renderer process (web page).

The messages sent from a renderer would be emitted to this module, the event name is the channel when sending message. To reply a synchronous message, you need to set event.returnValue, to send an asynchronous back to the sender, you can use event.sender.send(...).

It's also possible to send messages from main process to the renderer process, see WebContents.send for more.

An example of sending and handling messages:

// In main process.
var ipc = require('ipc');
ipc.on('asynchronous-message', function(event, arg) {
  console.log(arg);  // prints "ping"
  event.sender.send('asynchronous-reply', 'pong');
});

ipc.on('synchronous-message', function(event, arg) {
  console.log(arg);  // prints "ping"
  event.returnValue = 'pong';
});
// In renderer process (web page).
var ipc = require('ipc');
console.log(ipc.sendSync('synchronous-message', 'ping')); // prints "pong"

ipc.on('asynchronous-reply', function(arg) {
  console.log(arg); // prints "pong"
});
ipc.send('asynchronous-message', 'ping');

Class: Event

Event.returnValue

Assign to this to return an value to synchronous messages.

Event.sender

The WebContents that sent the message.