Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/env node
- /*
- * TODO: COMMENTS
- */
- var net = require('net');
- var express = require('express');
- var http = require('http');
- var app = express();
- var socketio = require('socket.io-client');
- var bodyParser = require('body-parser');
- var players = 0;
- var games = [];
- app.set('port', process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || 3004);
- app.set('ip', process.env.OPENSHIFT_NODEJS_IP || "localhost");
- app.use(bodyParser.json());
- //Launch server
- app.listen(app.get('port'), app.get('ip'), function () {
- console.log("✔ Express server listening at %s:%d ", app.get('ip'), app.get('port'));
- });
- app.post('/', function(request, response){
- console.log('post received');
- if(request.body){
- console.log('got a request body');
- var serverSocket = socketio('http://api-anexd.rhcloud.com:8000');
- serverSocket.on('connect', function(){
- console.log('successfully connected');
- });
- serverSocket.emit('client', 'server');
- var lobbyid = request.body.lobbyId;
- serverSocket.emit('connectlobby', lobbyid);
- serverSocket.on('connectlobby', function(data){
- console.log('Received connectlobby event with data:', data);
- if(data){
- var i = new instance(lobbyid, serverSocket);
- i.run();
- games.push(i);
- serverSocket.emit('out', {'event': 'created'});
- serverSocket.on('in', function(data){
- console.log('Received an "in" message:', data);
- if(data.event === 'new'){
- players = data.players;
- }
- });
- }
- });
- }
- response.json({});
- });
- function instance(lobbyid, socket) {
- this.imageURL = '';
- this.run = function() {
- console.log('Running new instance');
- socket.on('new', function(data){
- console.log('new');
- if(this.imageURL){
- console.log('sending image', this.imageURL);
- this.socket.emit('image', this.imageURL);
- }
- });
- socket.on('image', function(data){
- console.log('image:', data);
- this.imageURL = data;
- var msg = {
- 'event': 'image',
- 'data': this.imageURL,
- };
- socket.emit('out', {'event': 'msgall', 'msg': msg});
- });
- socket.on('drawing', function(data){
- console.log('drawing:', data);
- var msg = {
- 'event': 'drawing',
- 'data': data,
- }
- socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
- });
- socket.on('save', function(data){
- console.log('save:', data);
- var msg = {
- 'event': 'save',
- 'data': data,
- }
- socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
- });
- socket.on('undo', function(data){
- console.log('undo');
- var msg = {
- 'event': 'undo',
- }
- socket.emit('out', {'event': 'msgplayer', 'player': 0, 'msg': msg});
- });
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement