npm.io
2.0.2 • Published 5 years ago

daemonlib-ts

Licence
ISC
Version
2.0.2
Deps
2
Size
506 kB
Vulns
23
Weekly
0

daemonlib-ts库

安装

npm install daemonlib-ts

Quickex Example

import { Proto, DaemonLib } from "daemonlib-ts";
 let daemonlib = new DaemonLib('192.168.0.222', 'wcs', {
  proto: Proto.TEXT,
  httpEnable: true,
  httpPort: 9191,
  websocketPort: 8181,
  websocketEnable: true,
  Route: true
 });

 // message process
 daemonlib.OnMessage((ev) => {
   let data={
​     "status":0,
​     "message":"ok"
   }
  ev.callback(JSON.stringify(data))
 });



 // get all client info

 daemonlib.GetClients().then(*clients*=>{
   console.log('get clients info',clients);
 })
  let requestData={
​    "Action":"query"
  } 
 // Pubv2 Push messages with replies*
 daemonlib.PubV2('/zebus/192.168.10.121/ResourcesService',JSON.stringify(requestData),500,100).then(*res*=>{
   console.log('result message',res)
 })
 .catch(err=>{
   console.log('pubv2 error',err)
 })

 daemonlib.puPub

Constructor

 let daemonlib = new DaemonLib('192.168.0.222', 'wcs', {
  proto: Proto.TEXT,
  httpEnable: true,
  httpPort: 9191,
  websocketPort: 8181,
  websocketEnable: true,
  Route: true
 });
name type required Remarks
proto string yes proto.TEXT proto.BINARY
httpEnable boolean yes Whether to enable http
websocketEnable boolean yes Whether to enable websocket
httpPort number yes http port
websocketPort number yes websocket port

Method

Pub(topic: string, body: any): Promise

OnMessage(listener: (ev: CustomEvent) => any, options?: boolean | EventListenerOptions): DaemonLib

params:

export interface CustomMessageEvent { readonly message: Message; readonly callback: MessageReplyCallback; }

PubV2(topic: string, body: any, timeout?: number, defer?: number): Promise

GetClients(): Promise

return:

export declare class DaemonInfo {
    Ip: string;
    Server: string[];
    Config: Map<string, any>;
    Resource: string[];
    constructor();
}
export declare class ClientListInfo {
    offlines: string[];
    online: DaemonInfo[];
    server: string[];
    constructor();
}

Keywords