Router to use with socket.io
npm install socket.io-router
server.js
var http = require('http');
var socketIO = require('socket.io');
var express = require('express');
var sockRouter = require('socket.io-router');
var fs = require('fs');
var app = express();
var server = http.createServer(app);
var io = socketIO.listen(app);
var sRouter = new sockRouter.SocketRouter(io);
sRouter.route('ready', function (req) {
req.emit('done', {works: true});
sRouter.broadcast('client_connected');
});
app.get('/', function (req, res) {
fs.createReadStream('index.html').pipe(res);
});
server.listen();
index.html
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.emit('ready');
socket.on('done', function (data) {
if (data.works) {
alert('I\'m connected');
}
});
socket.on('client_connected', function () {
alert('client connected');
});
</script>
</head>
</html>
Define a new route by setting it's name and the callback function. The callback will be called with SocketRequest instance.
Broadcast the message to all clients
Data transmitted byt the sender
Socket on which the message was emitted.
ISC license is even simpler MIT like license. Check out the LICENSE file.