dotup-ts-node-ipc
v0.2.6
Published
Node IPC communication over files
Downloads
18
Readme
dotup-ts-node-ipc
Description
Node IPC communication over files
sample
import { IpcClient } from './IpcClient';
import { IpcServer } from './IpcServer';
const channelName = 'test-channel';
class Sample {
start(): void {
const ipcServer = new IpcServer(channelName);
ipcServer.start();
ipcServer.send('server-a');
try {
// Fails
const addrInUseServer = new IpcServer(channelName);
addrInUseServer.start();
addrInUseServer.send('server-failes');
} catch (error) {
console.log(error);
}
let client3 = this.connect('3');
const client2 = this.connect('2');
const client1 = this.connect('1');
// Client 2 sends each second data
setInterval(
() => {
client2.send('send from c');
},
1000
);
// Stop client 3 after some seconds and restart later
setTimeout(
() => {
client3.stop();
setTimeout(
() => {
client3 = this.connect('3');
},
6000
);
},
3000
);
// Stop server after 20 sec
setTimeout(
() => {
ipcServer.stop();
},
20000
);
}
// Creates a ipc client
connect(name: string): IpcClient {
const client = new IpcClient(channelName, `client ${name}`);
client.subscribe(
n => console.log(`${name}- ${n}`),
e => console.log(e),
() => console.log(`${name}-done`)
);
client.start();
return client;
}
}
const sample = new Sample();
sample.start();
Release Notes
0.1.0
Fixes/Features:
- Initial release
License
MIT © Peter Ullrich
Enjoy!