반응형
[Electron] 서버와 데이터 전송(통신)하는 방법 - ipc
ajax로 데이터를 전송하려고 했더니, path가 C:/ 밑으로 표시되는 바람에
데이터를 어떻게 서버(main)으로 전송해야할지 찾아보니 ipc라는 모듈이 있었다.
main 프로세스에서 renderer 프로세스로 비동기적인 통신을 한다.
즉, 이벤트를 처리하고 renderer 에 메시지를 보내기 위해 사용 된다.
주요 메소드
- ipcMain.on(channel, listener) : channel에 대해 이벤트 메세지 수신
renderer 프로세스에서 main 프로세스로 비동기적인 통신을 한다.
즉, 이벤트를 처리하고 main에 메시지를 보내기 위해 사용된다.
주요 메소드
- ipcRenderer.on(channel, listener) : main이 보낸 메세지 수신
- ipcRenderer.send(channel, listener) : main으로 메세지 전송
* Chennel을 renderer 와 main을 맞춰주면 서로 통신하게 된다.
* 보낼 데이터(lisenter)는 단일 값, 딕셔너리(json). 리스트 모두 사용 가능 하다.
받는 곳(ipcMain)에서 arguments를 데이터에 맞춰서 제대로 선언만 해주면 된다.
ex) 단일 값
var ipc = require('electron').ipcRenderer; ipc.send(채널명, abc1); const ipcMain = require('electron').ipcMain; ipcMain.on(채널명, function (event, arg) { var a = arg; });
ex) 리스트
var ipc = require('electron').ipcRenderer; ipc.send(채널명, abc1, abc2); const ipcMain = require('electron').ipcMain; ipcMain.on(채널명, function (event, arg1, arg2) { var a = arg1; var b = arg2; });
ex) 딕셔너리(dictionary / json)
var ipc = require('electron').ipcRenderer; ipc.send(채널명, {"a": abc1, "b": abc2}); const ipcMain = require('electron').ipcMain; ipcMain.on(채널명, function (event, arg) { var a = arg.a; var b = arg.b; });
[참고] ipc-renderer
[참고] ipc-main
반응형
'WEB > Electron' 카테고리의 다른 글
[Electron] 특정 위치에서만 메뉴(context-menu) 보이도록 설정하는 방법 (0) | 2019.03.21 |
---|---|
[Electron] Dialog (0) | 2019.02.21 |
[Electron] 코드 변경시 자동 새로고침 되도록 설정하는 방법 (0) | 2019.02.14 |
[Electron] Developer Tool 개발자 도구 활성화 방법 (0) | 2019.02.11 |
[Electron] 앱 시작하기 (0) | 2019.01.28 |