telegraph
v0.8.22
Published
A framework which acts as an interface between Socket.IO and Express.
Downloads
117
Readme
Telegraph
Telegraph pulls together Express and Socket.io with a syntax similar to Backbone.js.
require('telegraph');
// Current defaults for Telegraph
var server = new Telegraph.Server({
'appname' : "Telegraph",
'database' : false, // More documentation on this later
'express' : express.createServer(),
'public' : 'public',
'routes' : {},
'socketio' : false,
'views' : 'views',
'view engine' : 'ejs'
});
Routes
Once you have added a Server, add routes just as you would with Express:
server.get('/post/:id', function(req, res) {
var id = req.params.id,
article = articles.get(id);
res.render('single', article);
});
server.post('/post', function(req, res) {
articles.add(req.params);
});
server.put('/post/:id', function(req, res) {
var article = article.get(req.params.id);
article.set(req.params);
});
server.delete('/post/:id', function(req, res) {
articles.remove(params.req.id);
});
Configure Express
server.use(express.session({ secrete: "super secrete" }));
// or
server.use("session", { secret: 'super secret' });
server.set("view engine", "jade");
Using Socket.io functions:
To enable socket.io functionality, set the socketio
attribute to true
upon creation of your new Telegraph.Server object:
var server = new Telegraph.Server(
'socketio' : true // If set to true, Telegraph will enable socket.io functionality
});
This will create an instance of socket.io at the io
attribute of your new server object (server.io
). You can now add standard socket.io events using the listen
and send
methods, like so:
// Socket.IO Functions
server.listen('connection', function() {
console.log("connected");
server.send('updates', { information : "here" });
});
In your clientside application, you can receive commands from the server like so:
<script src="/socket.io/socket.io.js" type="text/javascript"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('updates', function(data) {
console.log(data);
});
</script>
Starting the Server:
Once you have created a server starting it is easy:
server.start(4000);
Don't see something here you like from Express or Socket.io?
###Target Express directly:
// server.express == Express
server.express
###Target Socket.io directly:
// server.io == socket.io
server.io