zoukankan      html  css  js  c++  java
  • Electron学习笔记(十六)—— 常用api____主进程与渲染进程通信

    ipcMain
    从主进程到渲染进程的异步通信。

    线程:主线程

    The ipcMain module is an Event Emitter. 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息。 从渲染器进程发送的消息将被发送到该模块。

    https://www.electronjs.org/docs/api/ipc-renderer

    ipcRenderer
    从渲染器进程到主进程的异步通信。

    进程: Renderer

    ipcRenderer 是一个 EventEmitter 的实例。 你可以使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主进程。 也可以接收主进程回复的消息。

    推荐:用异步的方法来写

    渲染进程发信息给主进程之后,之间的相应方式

    // 在主进程中.
    const { ipcMain } = require('electron')
    ipcMain.on('asynchronous-message', (event, arg) => {
    console.log(arg) // prints "ping"
    event.reply('asynchronous-reply', 'pong') //对应渲染进程中的异步方法
    })

    ipcMain.on('synchronous-message', (event, arg) => {
    console.log(arg) // prints "ping"
    event.returnValue = 'pong' //对应渲染进程中的同步方法

    })

    //在渲染器进程 (网页) 中。
    const { ipcRenderer } = require('electron')
    console.log(ipcRenderer.sendSync('synchronous-message', 'ping')) // prints "pong" //对应主进程中的同步方法

    ipcRenderer.on('asynchronous-reply', (event, arg) => {
    console.log(arg) // prints "pong"
    })
    ipcRenderer.send('asynchronous-message', 'ping') //对应主进程中的异步方法
    主进程主动给渲染进程发信息

    mainWindow.wenContents.send('方法名','参数')

  • 相关阅读:
    快速幂模板
    部分有关素数的题
    POJ 3624 Charm Bracelet (01背包)
    51Nod 1085 背包问题 (01背包)
    POJ 1789 Truck History (Kruskal 最小生成树)
    HDU 1996 汉诺塔VI
    HDU 2511 汉诺塔X
    HDU 2175 汉诺塔IX (递推)
    HDU 2077 汉诺塔IV (递推)
    HDU 2064 汉诺塔III (递推)
  • 原文地址:https://www.cnblogs.com/onesea/p/15323944.html
Copyright © 2011-2022 走看看