Skip to main content

MessagePortMain

MessagePortMain은 메인 프로세스 측에서 DOM의 MessagePort 객체와 동일한 역할을 한다. DOM 버전과 유사하게 동작하지만, DOM의 EventTarget 시스템 대신 Node.js의 EventEmitter 이벤트 시스템을 사용한다는 차이점이 있다. 이는 port.onmessage = ...port.addEventListener('message', ...) 대신 port.on('message', ...)를 사용해 이벤트를 수신해야 함을 의미한다.

채널 메시징 사용에 대한 더 자세한 정보는 Channel Messaging API 문서를 참고한다.

MessagePortMainEventEmitter이다.

Class: MessagePortMain

메인 프로세스에서 채널 메시징을 위한 포트 인터페이스

프로세스: 메인
이 클래스는 'electron' 모듈에서 직접 내보내지 않는다. Electron API의 다른 메서드 반환값으로만 사용할 수 있다.

인스턴스 메서드

port.postMessage(message, [transfer])

  • message any
  • transfer MessagePortMain[] (선택 사항)

포트를 통해 메시지를 보낸다. 필요에 따라 다른 브라우징 컨텍스트로 객체의 소유권을 이전할 수도 있다.

port.start()

포트에 대기 중인 메시지 전송을 시작한다. 이 메서드를 호출하기 전까지는 메시지가 대기 상태로 유지된다.

port.close()

포트를 연결 해제하여 더 이상 활성화되지 않도록 한다.

인스턴스 이벤트

이벤트: 'message'

반환값:

  • messageEvent 객체
    • data any
    • ports MessagePortMain[]

MessagePortMain 객체가 메시지를 받았을 때 발생한다.

이벤트: 'close'

MessagePortMain 객체의 원격 끝이 연결 해제될 때 발생한다.