Created
November 15, 2013 15:27
-
-
Save jonaslindmark/7486106 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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