initial commit
[map.git] / honeymap-master / server / server_random.js
1 /** Example node.js app for serving random markers via socket.io **/
2
3 var app = require('http').createServer(handler);
4 var fs = require('fs');
5 var util = require('util');
6 var ns = require('node-static');
7 var io = require('socket.io').listen(app);
8 var file = new(ns.Server)("../static/", { cache: 600 });
9
10 // Listen on port 1337
11 app.listen(1337);
12
13 // Serve static content
14 function handler (req, res) {
15   req.addListener('end', function() {
16     file.serve(req, res, function(err, result) {
17       if (err) {
18         console.error('Error serving %s - %s', req.url, err.message);
19         if (err.status === 404 || err.status === 500) {
20           file.serveFile(util.format('/%d.html', err.status), err.status, {}, req, res);
21         } else {
22           res.writeHead(err.status, err.headers);
23           res.end();
24         }
25       }
26     });
27   });
28 }
29
30 // Push random markers via socket.io
31 io.sockets.on('connection', function (socket) {
32   function random_point() {
33     var lat, lng;
34     lat = Math.random() * 180 - 90;
35     lng = Math.random() * 360 - 180;
36     socket.emit('marker', { lat: lat, lng: lng });
37   }
38   setInterval(function() { setTimeout(random_point, Math.random() * 1000) }, 500);
39 });