No description, website, or topics provided.
Clone or download

Build Status NPM version allows you to communicate with servers easily from processes.

How to use

var io = require('')({ host: '', port: 6379 });
  io.emit('time', new Date);
}, 5000);
// Different constructor options.

//1. Initialize with host:port string
var io = require('')("localhost:6379")
// 2. Initlize with host, port object.
var io = require('')({ host: '', port: 6379 });
// 3. Can use other node_redis compatible client eg; ioredis.

var Redis = require("ioredis");
var redis = new Redis();
var io = require('')(redis);

// Make the emitter works with redis clustered environment.
var Cluster = new Redis.Cluster([
        host: "localhost",
        port: 6379
        host: "localhost",
        port: 6378
var io = require('')(Cluster);


  var io = require('')({ host: '', port: 6379 });

  // sending to all clients
  io.emit('broadcast', /* ... */);

  // sending to all clients in 'game' room'game').emit('new-game', /* ... */);

  // sending to individual socketid (private message)<socketid>).emit('private', /* ... */);

  var nsp = io.of('/admin');

  // sending to all clients in 'admin' namespace
  nsp.emit('namespace', /* ... */);

  // sending to all clients in 'admin' namespace and in 'notifications' room'notifications').emit('namespace', /* ... */);

Note: acknowledgements are not supported

Error handling

Access the redis to subscribe to its error event:

var emitter = require('')("localhost:6379");

emitter.redis.on('error', onError);

function onError(err){


Emitter(client[, opts])

client is a node_redis compatible client that has been initialized with the return_buffers option set to true. This argument is optional.

The following options are allowed:

  • key: the name of the key to pub/sub events on as prefix (
  • host: host to connect to redis on (localhost)
  • port: port to connect to redis on (6379)
  • socket: unix domain socket to connect to redis on ("/tmp/redis.sock")

Emitter(clientUri[, opts]

Same as above, but clientUri is a string of the format host:port to connect to redis to.


If you don't want to supply a redis client object, and want to intiialize one for you, make sure to supply the host and port options.



Specifies a specific room that you want to emit to.


Specifies a specific namespace that you want to emit to.