當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript node-ipc.IPC類代碼示例

本文整理匯總了TypeScript中node-ipc.IPC的典型用法代碼示例。如果您正苦於以下問題:TypeScript IPC類的具體用法?TypeScript IPC怎麽用?TypeScript IPC使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了IPC類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: IPC

export const sendMessage = (msg: any): Promise<any> => {
  const ipc = new IPC()
  ipc.config.appspace = 'ddns.'
  ipc.config.id = 'client'
  ipc.config.silent = true
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject(new Error('Connecting to daemon timeout.'))
    }, 3000)
    ipc.connectTo('worker', () => {
      ipc.of.worker.on('connect', () => {
        ipc.of.worker.emit('message', msg)
        ipc.of.worker
          .on('message', (data) => {
            resolve(data)
          })
          .on('error', (err) => {
            reject(err)
          })
      })
    })
  }).finally(() => {
    ipc.disconnect('worker')
  })
}
開發者ID:wenwei1202,項目名稱:dnspod-ddns,代碼行數:25,代碼來源:ipc.ts

示例2: Worker

import { Worker } from './Worker'

process.on('uncaughtException', (err) => {
  logger.error(err.message)
})

process.on('unhandledRejection', (err) => {
  logger.error(err.message)
})

const worker = new Worker()
const ipMonitor: IpMonitor = new IpMonitor()
ipMonitor.on('change', (ip) => {
  worker.sync(ip)
})
const ipc = new IPC()
ipc.config.appspace = 'ddns.'
ipc.config.id = 'worker'
ipc.config.silent = true
ipc.serve(() => {
  ipc.server.on('message', (data, socket) => {
    try {
      const res = worker.onMessage(data)
      ipc.server.emit(socket, 'message', res)
    } catch (err) {
      ipc.server.emit(socket, 'message', err.message)
    } finally {
      if (worker.getActiveDomainCount() > 0) {
        ipMonitor.start()
      } else {
        ipMonitor.stop()
開發者ID:wenwei1202,項目名稱:dnspod-ddns,代碼行數:31,代碼來源:daemon.ts

示例3: resolve

 return new Promise<boolean>((resolve) => {
   pingIpc.connectTo('worker', () => {
     pingIpc.of.worker.on('connect', () => {
       resolve(true)
     })
     pingIpc.of.worker.on('error', () => {
       resolve(false)
     })
   })
 }).finally(() => {
開發者ID:wenwei1202,項目名稱:dnspod-ddns,代碼行數:10,代碼來源:ipc.ts

示例4: Promise

 return new Promise((resolve, reject) => {
   setTimeout(() => {
     reject(new Error('Connecting to daemon timeout.'))
   }, 3000)
   ipc.connectTo('worker', () => {
     ipc.of.worker.on('connect', () => {
       ipc.of.worker.emit('message', msg)
       ipc.of.worker
         .on('message', (data) => {
           resolve(data)
         })
         .on('error', (err) => {
           reject(err)
         })
     })
   })
 }).finally(() => {
開發者ID:wenwei1202,項目名稱:dnspod-ddns,代碼行數:17,代碼來源:ipc.ts

示例5:

 }).finally(() => {
   ipc.disconnect('worker')
 })
開發者ID:wenwei1202,項目名稱:dnspod-ddns,代碼行數:3,代碼來源:ipc.ts


注:本文中的node-ipc.IPC類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。