GithubHelp home page GithubHelp logo

svikashk / node-singles Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hakovala/node-singles

0.0 0.0 0.0 152 KB

Single instance application with two-way communication between master and client.

License: MIT License

JavaScript 100.00%

node-singles's Introduction

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 instance or connect to existing with a 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, instance of net.Socket

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.

node-singles's People

Contributors

hakovala avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.