Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function handler(req,res)
- {
- res.statusCode = 200;
- res.connection.setTimeout(0);
- res.end();
- }
- app.listen(port,ip);
- var pollingLoop = function(){
- mysql.getConnection(function(err,connection){
- if (err) {
- connection.release();
- console.log({"code" : 100, "status" : "Error in connection database"});
- return;
- }
- console.log('connected as id ' + connection.threadId);
- var selection = "SELECT * FROM auctions";
- var streamArray = [], lg = '';
- var query = connection.query(selection, function(err, results, fields, rows){
- lg += ('id: '+results[0].id+' ('+results[0].duration+') ');
- if (conditions)
- {
- var query_update = mysql.query('UPDATE `auctions` SET `price` = ? WHERE `id` = ?',[price, auction.id]);
- console.log(time()+'UPDATED id '+auction.id+': price ('+price+'€)');
- }
- streamArray.push(results);
- });
- console.log(time()+lg+' C: '+mysqlArray.length);
- pollingTimer = setTimeout(pollingLoop, 1000);
- updateSockets({ streamArray: streamArray });
- console.log("auctions pushed: "+streamArray);
- connection.on('error', function(err) {
- console.log({"code" : 100, "status" : "Error in connection database"});
- return;
- });
- });
- }
- io.sockets.on('connection', function(socket) {
- pollingLoop();
- socket.on('disconnect', function() {
- clearTimeout(pollingTimer);
- var socketIndex = mysqlArray.indexOf(socket);
- console.log(time()+'SOCKET-ID = %s DISCONNECTED', socketIndex);
- if (~socketIndex) { mysqlArray.splice(socketIndex, 1); }
- });
- console.log(time()+'NEW SOCKET CONNECTED!');
- mysqlArray.push(socket);
- });
- var updateSockets = function(data) {
- mysqlArray.forEach(function(tmpSocket) { tmpSocket.volatile.emit('stream', data); });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement