replier

replier

npm install replier
68 downloads in the last week
138 downloads in the last month

replier NPM version Build Status Dependency Status

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

Usage

server:

var port = 9000;
var server = replier.server().on('message', function(msg, reply){
    if(!msg){
        return;
    }

    var result;
    var array = msg.array;
    var err = null;

    switch(msg.action){
        case 'sum':
            result = array.reduce(function(p, c){
                return p + c;
            });
            break;

        case 'join':
            result = array.join('');
            break;

        default:
            err = 'error!'
    }

    reply(err, result);

}).listen(port);

client:

var client = replier.client().connect(port, function(err){
    client.send({
        action: 'sum',
        array: [1, 2, 3]
    }, function(err, result){
        if(err){
            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.

replier.server()

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

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.

replier.client([options])

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

client.end()

Close the client.

Events

Events of net.Socket

  • 'connect'
  • 'error'
  • 'end'
  • 'data'
  • 'timeout'
  • 'close'
  • 'drain'
npm loves you