Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including replier with all npm packages installed. Try it out:

var replier = require("replier")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

replier v1.1.3

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

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'


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free