initial commit
[map-websocket.git] / server_alienfeeds-pcap.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 net = require('net');
9 var file = new(ns.Server)("../static/", { cache: 600 });
10
11 // Listen on port 1338
12 app.listen(1338);
13
14 // Serve static content
15 function handler (req, res) {
16   req.addListener('end', function() {
17     file.serve(req, res, function(err, result) {
18       if (err) {
19         console.error('Error serving %s - %s', req.url, err.message);
20         if (err.status === 404 || err.status === 500) {
21           file.serveFile(util.format('/%d.html', err.status), err.status, {}, req, res);
22         } else {
23           res.writeHead(err.status, err.headers);
24           res.end();
25         }
26       }
27     });
28   });
29 }
30
31 // Push random markers via socket.io
32 io.sockets.on('connection', function (socket) {
33   var sock = net.createConnection(10000,"YOURSERVER");
34   console.log('Attempting a connection');
35   sock.on('connect', function (connect) {
36     console.log('Connected');
37     sock.on('data', function (data) {
38       var parts = data.toString("utf-8").split(":");
39       var lat, lng;
40       lat = Number(parts[0]);
41       lng = Number(parts[1]);
42       if (lat != null && lng != null) {
43         socket.emit('marker', { lat: lat, lng: lng });
44       }
45     })
46   });
47 });