node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »


replier NPM version Build Status Dependency Status

A very simple high-level JSON-based messaging socket server and client.



var port = 9000;
var server = replier.server().on('message', function(msg, reply){
    var result;
    var array = msg.array;
    var err = null;
        case 'sum':
            result = array.reduce(function(p, c){
             return p + c;
        case 'join':
            result = array.join('');
         err = 'error!'
    reply(err, result);


var client = replier.client().connect(port, function(err){
        action: 'sum',
        array: [1, 2, 3]
    }, function(err, result){
         return console.error('error: ', err);
        console.log('the result is', result);
// the result is 6 

replier.check(port, callback)

Checks if there's already a server listening to the given port.

  • port Number
  • callback(alive) Function
    • alive Boolean true, if the server is alive.


Creates and returns a replier server object which is an instance of replier.Server.

    port: 9000
}, replierServerCallback);

The code above is relevant to:

replier.server().listen(9000, callback);

Class: replier.Server

server.listen(port, [callback]);

Listens to a port.

Event: 'message'

Emitted when the server has reseived a message from the client.

Differs from normal events, this event passes a function reply parameter which is used to reply responses to the client.

  • message mixed
  • reply function(err, response) err and response will be passed to the callback of client.send(message, callback)

Event: 'listening'

Emitted when the server has been bound after calling server.listen.

Event: 'close'

Emitted when the server closes. Note that if connections exist, this event is not emitted until all connections are ended.

Event: 'error'

  • Error Object

Emitted when an error occurs. The 'close' event will be called directly following this event. See example in discussion of server.listen.


Class: replier.Client([options])

client.connect(port, callback)

Connects the client to the server.

client.send(data, callback)

  • data Object The data to be sent to the server
  • callback(err, serverData)
    • err mixed error information from the server
    • serverData mixed server data

Sends messages to the server, and


Close the client.


Events of net.Socket

  • 'connect'
  • 'error'
  • 'end'
  • 'data'
  • 'timeout'
  • 'close'
  • 'drain'