ارتباط بین فرآیند (IPC) در الکترون – آموزش Electron

  • چهارشنبه ۱۷ بهمن ۱۳۹۷
  • بازدید ۱,۷۴۶ نفر

تصویر electron-inter-process-communication_5808 ارتباط بین فرآیند (IPC) در الکترون - آموزش Electron

ارتباط بین فرآیند (IPC) در الکترون

الکترون دو ماژول IPC (Inter Process Communication) به نام های ipcMain و ipcRenderer را برای ما فراهم می کند. ماژول ipcMain برای برقراری ارتباط ناهمگام (Asynchronous) بین فرآیند اصلی (Main Process) و فرآیند های رندر کننده (Renderer Processes) استفاده می شود. زمانی که این ماژول در فرآیند اصلی مورد استفاده قرار گیرد، پیام هایی که به صورت همگام و ناهمگام از فرآیند رندر کننده (صفحه وب) دریافت می شوند را هندل می کند. پیام های ارسال شده از یک رندر کننده در این ماژول منتشر می شود.

ماژول ipcRenderer به منظور برقراری ارتباط ناهمگام (Asynchronous) بین فرآیند رندر کننده (Renderer Process) و فرآیند اصلی (Main Process) در الکترون استفاده می شود. این ماژول متدهایی دارد که می توان از آن ها برای ارسال پیام به صورت همگام و ناهمگام از فرآیند رندر کننده (صفحه وب) به فرآیند اصلی (Main Process) استفاده کرد. همچنین امکان دریافت پاسخ های ارسال شده از طرف فرآیند اصلی نیز وجود دارد.

در ادامه ما یک فرآیند اصلی و یک فرآیند رندر کننده ایجاد خواهیم کرد که با استفاده از ماژول های فوق پیام هایی به یکدیگر ارسال می کنند.

یک فایل جدید با نام main_process.js ایجاد کرده و محتوای زیر را در آن بنویسید:

سپس یک فایل دیگر با نام index.html ایجاد کرده و محتوای زیر را در آن بنویسید:

برنامه را با دستور زیر اجرا کنید:

برنامه بالا خروجی زیر را تولید خواهد کرد:

توصیه می شود که محاسبات، وظایف سنگین و مسدود کننده را در فرآیند رندر کننده انجام ندهید. همیشه از IPC برای سپردن این وظایف به فرآیند اصلی استفاده کنید. این موضوع باعث می شود تا سرعت برنامه نوشته شده با الکترون بهتر شود.

ثبت نظر
ریفریش کنید!
نظرات کاربران (۲ مورد)
  1. تصویر آواتار کاربر 0
    علیرضا شنبه , 24 خرداد

    سلام من زمانی که برنامرو اجرا میکنم از فایل html خطای "require is not defined" رو به من میده. میدونید مشکل کجاست ؟