-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
78 lines (63 loc) · 1.75 KB
/
app.js
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Module dependencies
var express = require( 'express' )
var zmq = require( 'zmq' )
var app = module.exports = express.createServer()
var io = require( 'socket.io' ).listen(app)
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
app.set('view options', { pretty: true });
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res){
res.render('index', {
title: 'NetPeek'
});
});
app.get('/netpeek', function(req, res){
res.render('netpeek', {
title: 'NetPeek',
layout: false
});
});
app.get('/about', function(req, res){
res.render('about', {
title: 'About'
});
});
app.get('/contact', function(req, res){
res.render('contact', {
title: 'Contact'
});
});
app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
// ZeroMQ MSU Subscriber
console.log( "Subscribing..." )
sub = zmq.socket( 'sub' )
sub.connect( "tcp://localhost:5000" )
// ZeroMQ set subscribe to all incoming
sub.subscribe( '' )
// Socket.IO on connect, start sending MSUs from the ZeroMQ sub
io.sockets.on( 'connection', function (socket) {
sub.on( 'message', function (data) {
socket.emit( 'msu', data.toString() );
})
})
// gracefully exit program
process.on( 'SIGINT', function() {
console.log( "\ngracefully shutting down from SIGINT (Ctrl-C)" )
sub.close()
process.exit()
})