singles

0.1.0 • Public • Published

Singles

Create easily single instance application with two-way communication channel between master and client instances.

Install

NPM

npm install singles

Usage

var Singles = require('singles');
 
// create new or connect to instance with specified name
var app = new Singles('example-app');
 
app.on('error', function(err) {
    // connection error
});
 
app.on('close', function() {
    // connection closed
});
 
app.on('message', function(obj) {
    // message received
});
 
if (app.master) {
    // this is a master instance
    app.on('connection', function(client) {
        // client connected
 
        // send only to specified client
        client.send({ hello: 'client' });
    });
 
    // broadcast message to all clients, forever
    setInterval(function() {
        app.send({ time: new Date() });
    }, 1000);
} else {
    // this is a client instance
 
    app.on('connect', function() {
        app.send({hello: 'master'});
        app.close();
    });
}

API

Singles is an EventEmitter

new Singles(name)

  • name is an unique name of the application

Event: 'connection' (master only)

  • client Client connection

Emitted when client connects to the master.

Event: 'listening' (master only)

Emitted when master starts listening for incoming connections.

Event: 'connect' (client only)

Emitted when client is connected to the master.

Event: 'error'

  • error Error object

Emitted if something goes wrong with the connection.

Event: 'close'

Emitted when connection closed.

Event: 'message'

  • object Received object

Emitted when received object from other instance.

Singles#master

true if this instance is a master instance.

Singles#connect()

Try connecting to a master instance

Singles#createServer()

Create master connection

Singles#send(object)

Send object to the other instance. Sending from master instance will broadcast to all connected clients.

Singles#close()

Close connection.

Readme

Keywords

none

Package Sidebar

Install

npm i singles

Weekly Downloads

2

Version

0.1.0

License

none

Last publish

Collaborators

  • hakovala