agora

0.0.2 • Public • Published

agora Build Status

dead simple websocket communication module.

Stream JSON data easily with events between clients and server. You can broadcast to all clients, or just one.

runs in node and in the browser with browserify!

It's basically a simple wrapper built around the awesome module emit.io

install

npm install agora

server example

var Server = require('agora').Server;
 
var server = new Server({
    port: 8000
});
 
server.on('connection', function (conn) {
 
    var id = conn.id;
 
    /* returned inStream is an emitter */
    var inStream = conn.inStream;
 
    /* you can emit to the outStream and data will
     * be piped off to the client */
    var outStream = conn.outStream;
 
    /*
     * listen on a per client basis
     * in this case, we listen for the 'addOne' event from the client,
     * and we can wrangle it, then send it back with an 'addResult' event
     */
    inStream.on('addOne', function (data) {
        server.emitTo(outStream, 'addResult', data += 1);
    });
 
    /* emit to one client */
    server.emitTo(outStream, 'ready', id);
});
 
/* or emit to everyone! */
setInterval(function () {
    server.emit('serverTime', new Date());
}, 1000);
 

client example

var Client = require('agora').Client;
var client = new Client();
 
/*
 * once we get the ready event from the server,
 * we're good to go! we can now start emitting
 * and the server will hear the events!
 */
client.on('ready', function (id) {
    client.id = id;
    client.emit('addOne', 1);
});
 
/*
 * once you've built your server API, you can
 * listen to events. Here we've set up
 * an addResult event.
 */
client.on('addResult', function (data) {
    var div = document.getElementById('#someDiv');
    div.innerHTML = data;
 
    setTimeout(function () {
        client.emit('addOne', data);
    }, 5000);
});
 
client.on('serverTime', function (date) {
    console.log(date);
});
 
/* connect the client! */
client.connect('ws://localhost:8000');
 

methods

var Signals = require('agora');

var server = new Signals.Server(opts)

Creates a new instance of a websocket server.

opts.port | specify the port number int

var client = new Signals.Client()

Creates a new instance of a websocket client.

client.connect(address)

Connects to the websocket server at the provided address | String.

license

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i agora

Weekly Downloads

25

Version

0.0.2

License

MIT

Last publish

Collaborators

  • alexander-daniel