Newsworthy Presidential Mistakes

    signal.io

    0.0.6 • Public • Published

    Signal.IO

    Build Status NPM version

    Signal.IO is a realtime application framewrork for building Web API based on WebSocket instead of HTTP.

    var signal = require('signal.io');
    var server = require('http').Server();
    var io = signal(server);
     
    io.connect('/', function(socket) {
      socket.on('get', function(req, res) {
        res.send('Hello World');
      });
    });
     
    server.listen(3000);

    Installation

    $ npm install signal.io
    

    Features

    • Built on Socket.IO v1.0
    • Express inspired API and interface
    • Namespace routing
    • Bundled middlewares
    • Easy broadcasting

    Example

    Server:

    var signal = require('signal.io');
    var server = require('http').Server();
    var io = signal(server);
     
    // set middlewares
    io.use(signal.cookieParser());
    io.use(signal.session('my secret'));
     
    io.connect('/posts/:postId', function(socket) {
      socket.on('read', function(req, res) {
        var post = {id: req.params.postId, title: 'A post'};
        res.send(post);
      });
     
      socket.on('update', function(req, res) {
        var post = req.body;
        // do update ...
     
        // send back the result and broadcast it to all clients joined in the same namespace.
        res.broadcast.send(post);
      });
    });
     
    server.listen(3000);

    Client:

    Use Socket.IO as the client.

    <script src="/signal.io/socket.io.js"></script>
    <script>
    var socket = io('http://localhost:3000/posts/10', {path: '/signal.io'});
    socket.on('connect', function() {
      socket.emit('read', function(err, post) {
        console.log('Read a post', post);
      });
     
      var post = {title: 'Hello, World'}
      socket.emit('update', post, function(err, post) {
        console.log('Update result', post);
      });
     
      socket.on('update', function(post) {
        console.log('Received a result of other clients', post);
      });
    });
    </script> 

    License

    MIT

    Keywords

    none

    Install

    npm i signal.io

    DownloadsWeekly Downloads

    1

    Version

    0.0.6

    License

    none

    Last publish

    Collaborators

    • nkzawa