Advertisement
Guest User

Untitled

a guest
May 27th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/env node
  2. /*
  3. *   TODO:   COMMENTS
  4. */
  5. var net     = require('net');
  6. var express = require('express');
  7. var http    = require('http');
  8. var app     = express();
  9. var socketio = require('socket.io-client');
  10. var bodyParser = require('body-parser');
  11.  
  12. var players = 0;
  13. var games = [];
  14.  
  15. app.set('port', process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || 3004);
  16. app.set('ip', process.env.OPENSHIFT_NODEJS_IP || "localhost");
  17. app.use(bodyParser.json());
  18.  
  19. //Launch server
  20. app.listen(app.get('port'), app.get('ip'), function () {
  21.     console.log("✔ Express server listening at %s:%d ", app.get('ip'), app.get('port'));
  22. });
  23.  
  24. app.post('/', function(request, response){
  25.     console.log('post received');
  26.     if(request.body){
  27.         console.log('got a request body');
  28.         var serverSocket = socketio('http://api-anexd.rhcloud.com:8000');
  29.         serverSocket.on('connect', function(){
  30.             console.log('successfully connected');
  31.         });
  32.         serverSocket.emit('client', 'server');
  33.         var lobbyid = request.body.lobbyId;
  34.         serverSocket.emit('connectlobby', lobbyid);
  35.         serverSocket.on('connectlobby', function(data){
  36.             console.log('Received connectlobby event with data:', data);
  37.             if(data){
  38.                 var i = new instance(lobbyid, serverSocket);
  39.                 i.run();
  40.                 games.push(i); 
  41.                 serverSocket.emit('out', {'event': 'created'});
  42.                 serverSocket.on('in', function(data){
  43.                     console.log('Received an "in" message:', data);
  44.                     if(data.event === 'new'){
  45.                         players = data.players;
  46.                     }
  47.                 });
  48.             }
  49.         });
  50.     }
  51.     response.json({});
  52. });
  53.  
  54. function instance(lobbyid, socket) {
  55.     this.imageURL = '';
  56.     this.run = function() {
  57.         console.log('Running new instance');
  58.         socket.on('new', function(data){
  59.             console.log('new');
  60.             if(this.imageURL){
  61.                 console.log('sending image', this.imageURL);
  62.                 this.socket.emit('image', this.imageURL);
  63.             }
  64.         });
  65.        
  66.         socket.on('image', function(data){
  67.             console.log('image:', data);
  68.             this.imageURL = data;
  69.             var msg = {
  70.                 'event': 'image',
  71.                 'data': this.imageURL,
  72.             };
  73.             socket.emit('out', {'event': 'msgall', 'msg': msg});
  74.         });
  75.        
  76.         socket.on('drawing', function(data){
  77.             console.log('drawing:', data);
  78.             var msg = {
  79.                 'event': 'drawing',
  80.                 'data': data,
  81.             }
  82.             socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
  83.         });
  84.        
  85.         socket.on('save', function(data){
  86.             console.log('save:', data);
  87.             var msg = {
  88.                 'event': 'save',
  89.                 'data': data,
  90.             }
  91.             socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
  92.         });
  93.        
  94.         socket.on('undo', function(data){
  95.             console.log('undo');
  96.             var msg = {
  97.                 'event': 'undo',
  98.             }
  99.             socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
  100.         });
  101.     };
  102. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement