1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
var express = require('express'),
io = require('socket.io'),
ejs = require('ejs'),
mongoose = require('mongoose');
var app = module.exports = express.createServer();
io = require('socket.io').listen(app);
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(express.logger());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
mongoose.connect('mongodb://localhost/warpfx');
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
io.set('transports', ['websocket']);
});
app.configure('production', function(){
io.enable('browser client minification'); // send minified client
io.enable('browser client etag'); // apply etag caching logic based on version number
io.enable('browser client gzip'); // gzip the file
io.set('log level', 1); // reduce logging
io.set('transports', [ // enable all transports (optional if you want flashsocket)
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
});
/*
* Application routes.
*
*/
var db = require( './lib/models' ),
room = require( './lib/room' );
app.get( '/', function( req, res ) {
res.render( 'grid', {} );
});
app.get( '/grid', function( req, res ) {
res.render( 'grid', {} );
});
io.sockets.on('connection', function(socket){
room.connect(io, socket);
});
app.listen(1783, function(){
console.log("WARPFX server listening on port %d in %s mode", app.address().port, app.settings.env);
});
|