glintik / koa.io

Realtime web framework combine koa and socket.io.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

koa.io

![Gitter](https://badges.gitter.im/Join Chat.svg)

NPM version build status Test coverage Dependency Status devDependency Status node version

Realtime web framework combine koa and socket.io.

This project is under development now.

Feature

  • socket.io support koa style middleware when socket connect and disconnect.
  • socket event route support.
  • Make socket.io's event handler support generator function.
  • Extent socket.io's socket object like koa's context, to compact with some koa's middlewares.

Installation

$ npm install koa.io --save

Usage

var koa = require('koa.io');

var app = koa();

// middleware for koa
app.use(function*() {
});


// middleware for socket.io's connect and disconnect
app.io.use(function* (next) {
  // on connect
  yield* next;
  // on disconnect
});

// router for socket event
app.io.route('new message', function* () {
  // we tell the client to execute 'new message'
  var message = this.args[0];
  this.broadcast.emit('new message', message);
});

app.listen(3000);

Please check out this simple chat example.

License

MIT

About

Realtime web framework combine koa and socket.io.


Languages

Language:JavaScript 94.0%Language:CSS 4.3%Language:HTML 1.7%