```javascript
// 메인 프로세스
const ipcMain = require('electron').ipcMain;
-ipc.on('asynchronous-message', function(event, arg) {
+ipcMain.on('asynchronous-message', function(event, arg) {
console.log(arg); // "ping" 출력
event.sender.send('asynchronous-reply', 'pong');
});
-ipc.on('synchronous-message', function(event, arg) {
+ipcMain.on('synchronous-message', function(event, arg) {
console.log(arg); // "ping" 출력
event.returnValue = 'pong';
});
const ipcRenderer = require('electron').ipcRenderer;
console.log(ipc.sendSync('synchronous-message', 'ping')); // "pong" 출력
-ipc.on('asynchronous-reply', function(arg) {
+ipcRenderer.on('asynchronous-reply', function(arg) {
console.log(arg); // "pong" 출력
});
-ipc.send('asynchronous-message', 'ping');
+ipcRenderer.send('asynchronous-message', 'ping');
```
## 메시지 리스닝
`ipcMain`은 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
-### `ipc.on(channel, callback)`
+### `ipcMain.on(channel, callback)`
* `channel` String - 이벤트 이름
* `callback` Function
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
-### `Event.returnValue`
+### `event.returnValue`
이 메시지를 지정하면 동기 메시지를 전달합니다.
-### `Event.sender`
+### `event.sender`
메시지를 보낸 `webContents` 객체를 반환합니다. `event.sender.send` 메서드를 통해
비동기로 메시지를 전달할 수 있습니다. 자세한 내용은