Browse Source

Defined events for socket.io

master
Jeffery R 6 years ago
parent
commit
8a4479ca3e
3 changed files with 106 additions and 12 deletions
  1. +1
    -0
      README.md
  2. +86
    -12
      googletrendsgame/server/server.js
  3. +19
    -0
      googletrendsgame/server/serverUtils.js

+ 1
- 0
README.md View File

@ -12,4 +12,5 @@ npm install socket.io
npm install mysql
npm install sanitizer
npm install google-trends-api
npm install promise
````

+ 86
- 12
googletrendsgame/server/server.js View File

@ -1,8 +1,6 @@
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
const port = 3000;
//list of all the rooms
var rooms = [];
var room = function(capacityP, roomN)
{
@ -15,27 +13,54 @@ var room = function(capacityP, roomN)
//list of words used in the game
this.words = [];
//list of clients sockets -- so we can push requests to them
//list players -- so we can push requests to them
this.users = [];
//increments when rounds pass
this.currentRoom = 0;
// the password of the room -- null if no password
this.password = null;
/**
* adds a user to a room
* @param socket
* @param p
* return 0 if they could join
*/
this.addUser = function(player)
{
//check if room is not full
if(this.users.length != this.capacity)
{
this.users.push(player)
}
else
{
}
}
/**
*
* @param p
*/
this.addUser = function(socket)
this.removeUser = function(p)
{
this.users.remove(p);
//if room is empty remove the room from rooms list
rooms.remove(this);
}
}
var player = function(name)
var player = function(s)
{
//name of the user
this.name = name;
this.name = null;
//players socket
this.socket = s;
//score of the player
this.score = 0;
@ -48,19 +73,68 @@ var player = function(name)
this.sumbission = null;
}
//list of all the rooms
var rooms = [];
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
const port = 3000;
const utils = require('./serverUtils.js');
//Whenever someone connects this gets executed
io.on('connection', function(socket)
{
var player = new player(socket);
console.log('A user connected');
/**
*Register user nickname/handle (register) Client => Server
*/
socket.on('register', function(data) {
console.log("Register event called");
console.log(data);
console.log(" ");
//checks for user name in use
if(utils.userAvailable(data, rooms))
{
player.name = data;
}
else
{
socket.emit('registerFailed', 'User name taken');
}
});
socket.on('clientEvent', function(data) {
/**
*Create Room (createRoom) Client => Server
* data {password: , capacity: }
*/
socket.on('createRoom', function(data) {
console.log("create room event called");
console.log(data);
console.log(" ");
});
/**
*
*/
socket.on('joinRoom', function(data) {
console.log("join room event called");
console.log(data);
console.log(" ");
});
socket.on('submitWord', function(data) {
console.log("submitWord called");
console.log(data);
console.log(" ");
});
//Whenever someone disconnects this piece of code executed
socket.on('disconnect', function () {

+ 19
- 0
googletrendsgame/server/serverUtils.js View File

@ -0,0 +1,19 @@
module.exports=
{
/**
* Returns a random word
* @returns {string}
*/
roomOpen : function(name, rooms)
{
return true;
},
userAvailable : function(name, rooms)
{
return true;
},
exists: function(name, rooms)
{
}
};

Loading…
Cancel
Save