Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. // Include important JS helpers
  2. require('./helpers.js');
  3.  
  4. var express = require('express'), // Include express engine
  5. app = express(), // create node server
  6. bodyParser = require('body-parser'),
  7. io = require('socket.io')(server),
  8. config = require('./config/app.js');
  9.  
  10. var server = require('http').createServer(app);
  11.  
  12.  
  13. // Default APP Configuration
  14.  
  15. app.set('view engine', 'jade'); // uses JADE templating engine
  16. app.set('views', __dirname + '/views'); // default dir for views
  17.  
  18. // configure app to use bodyParser()
  19. // this will let us get the data from a POST
  20. app.use(bodyParser.urlencoded({ extended: true }));
  21. app.use(bodyParser.json());
  22.  
  23. // Index Route
  24. app.get('/', function(req, res){
  25. res.render('index', {
  26. locals: {
  27. title: "Rumpetnode! It's Rumpetroll with a node backend"
  28. }
  29. });
  30. });
  31.  
  32. // Auth Route
  33. app.get('/auth', function(req, res){
  34. res.render('auth', {
  35. locals: {
  36. title: "Authenticate Twitter",
  37. twitter: config.twitter,
  38. layout: false
  39. }
  40. });
  41. });
  42.  
  43.  
  44. // Listen on this port
  45. server.listen(3000);
  46.  
  47. // Socket Connection
  48. var socket = io.listen(app),
  49. clients = []; // List of all connected Clients
  50.  
  51. // When user gets connected
  52. socket.on('connection', function(client){
  53. // new client is here!
  54. var index = clients.push(client) - 1; // get array index of new client
  55.  
  56. // On Message, send message to everyone
  57. client.on('message', function(data){
  58. console.log('got message ==> ' + data);
  59. data = JSON.parse(data); // parse string data to json
  60.  
  61. for(var i=0;i<clients.length;i++) {
  62. try {
  63. if(clients[i] != undefined)
  64. clients[i].send(data.msg); // send to all connected clients
  65. } catch(e) {
  66. console.log("doesn`t exist");
  67. continue; //if a client doesn`t exist, jus continue;
  68. }
  69. }
  70. });
  71. client.on('disconnect', function(){
  72. clients.splice(index,1); // remove client from array
  73. console.log("after length ===> " +clients.length);
  74. });
  75. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement