Skip to content

Instantly share code, notes, and snippets.

@jonaslindmark
Created November 15, 2013 15:27
Show Gist options
  • Save jonaslindmark/7486106 to your computer and use it in GitHub Desktop.
Save jonaslindmark/7486106 to your computer and use it in GitHub Desktop.
var express = require('express');
var app = express()
var http = require('http')
var server = http.createServer(app)
var sio = require('socket.io');
var io = sio.listen(server);
var request = require('request');
var connectedSockets = {};
var clientCounter = 0;
var poll_a_page = function (event_name, url_to_poll) {
console.log("Polling " + url_to_poll);
request(url_to_poll, function(error, response, body) {
if (!error && response.statusCode == 200) {
for (var key in connectedSockets) {
socket = connectedSockets[key];
socket.emit(event_name, {"result": JSON.parse(body)});
console.log("Writing to socket id " + key);
}
} else {
console.log(error);
}
});
};
var interval_id = setInterval(function () {
poll_a_page("datum", "http://www.datum.nu/");
}, 1000);
console.log(interval_id)
io.sockets.on('connection', function(socket) {
id = clientCounter
clientCounter = clientCounter + 1;
console.log("Client connected: " + id);
connectedSockets[id] = socket;
socket.on('disconnect', function() {
delete connectedSockets[id];
});
});
server.listen(8080);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment