v0.1.5 - user registration & login page done
This commit is contained in:
@@ -34,10 +34,12 @@ var NPGServer = {
|
||||
self.version = o.VERSION || '';
|
||||
self.host = o.HTTP.host || '';
|
||||
self.port = o.HTTP.port || 8042;
|
||||
//
|
||||
self.users = [];
|
||||
//
|
||||
self.log('$ ##### nodePong - v'+self.version);
|
||||
},
|
||||
|
||||
|
||||
//--- setVersion(s)
|
||||
setVersion: function(s) {
|
||||
this.version = s;
|
||||
@@ -45,12 +47,12 @@ var NPGServer = {
|
||||
|
||||
|
||||
/*
|
||||
* Server Messages
|
||||
* Server logs
|
||||
*/
|
||||
//---
|
||||
log: function(msg) {
|
||||
var self = this;
|
||||
return console.log(self.newDateToString() + msg);
|
||||
return console.log(self.newDateToString() + '$ ' + msg);
|
||||
},
|
||||
//--- dateToString
|
||||
dateToString: function(date) {
|
||||
@@ -92,29 +94,168 @@ var NPGServer = {
|
||||
socketHandling: function(io) {
|
||||
var self = this;
|
||||
io.sockets.on('connection', function (socket) {
|
||||
//
|
||||
self.log('$ User connected : id=' + socket.id);
|
||||
|
||||
// 'disconnect'
|
||||
socket.on('disconnect', function () { self.log('$ User disconnected : id=' + socket.id);
|
||||
socket.on('disconnect', function () {
|
||||
self.clientDisconnect(socket.id);
|
||||
});
|
||||
|
||||
// 'registration'
|
||||
socket.on('regRequest', function (data) {
|
||||
self.userRegistration(data, socket);
|
||||
});
|
||||
|
||||
|
||||
//
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/*
|
||||
* Socket handling utils
|
||||
*/
|
||||
//
|
||||
userRegistration : function(data, socket) {
|
||||
var self = this;
|
||||
self.log('[Client:' + socket.id + '] New user registration attempt: name=' + data);
|
||||
if (!self.isNewUser(data)) {
|
||||
self.resetClientUI(socket);
|
||||
self.log('Server: User name already taken - reseting client UI');
|
||||
} else {
|
||||
self.createUser(data, socket);
|
||||
}
|
||||
/*
|
||||
self.updateClientsServerInfo(); // update all clients info
|
||||
io.sockets.sockets[socketId].emit('playerCreated'); // send socket msg
|
||||
},
|
||||
*/
|
||||
|
||||
},
|
||||
|
||||
//
|
||||
clientDisconnect : function(id) {
|
||||
var self = this;
|
||||
var u = self.getUserBySocketId(id);
|
||||
if (self.isUser(id)) {
|
||||
self.log('[Client:' + id + '] User ' + u.name + ' disconnected');
|
||||
self.deleteUser(u.name);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/*
|
||||
* User handling utils
|
||||
*/
|
||||
//---
|
||||
sendMsgToSocket: function(socket, msg, data) {
|
||||
if (data !== undefined) {
|
||||
socket.emit(msg);
|
||||
} else {
|
||||
socket.emit(msg, data);
|
||||
}
|
||||
},
|
||||
|
||||
//---
|
||||
isNewUser: function(name) {
|
||||
var self = this;
|
||||
var isNew = true;
|
||||
self.log('Server: Checking if player name is already used');
|
||||
for (u in self.users) {
|
||||
if (self.users[u].name == name) isNew = false;
|
||||
}
|
||||
return isNew;
|
||||
},
|
||||
|
||||
//
|
||||
isUser: function(id) {
|
||||
var self = this;
|
||||
var isOn = false;
|
||||
for (u in self.users) {
|
||||
if (self.users[u].socket.id == id) isOn = true;
|
||||
}
|
||||
return isOn;
|
||||
},
|
||||
|
||||
//---
|
||||
getUserByName: function(name) {
|
||||
var self = this;
|
||||
for (u in self.users) {
|
||||
if (self.users[u].name == name) return self.users[u];
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
|
||||
//---
|
||||
getUserBySocketId: function(id) {
|
||||
var self = this;
|
||||
for (u in self.users) {
|
||||
if (self.users[u].socket.id == id) return self.users[u];
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
|
||||
//
|
||||
resetClientUI: function(socket) {
|
||||
var self = this;
|
||||
self.sendMsgToSocket(socket, 'regNameTaken');
|
||||
},
|
||||
|
||||
//
|
||||
createUser: function(name, socket) {
|
||||
var self = this;
|
||||
self.log('Server: New player registered, name=' + name + ' socketId= '+ socket.id);
|
||||
self.users.push(new User(name, socket));
|
||||
self.log('Server: number of players: n= ' + self.users.length);
|
||||
self.log('Server: player registered, send user ' + name + ' to menu page.');
|
||||
// send user auth
|
||||
self.sendMsgToSocket(socket, 'regDone');
|
||||
},
|
||||
|
||||
removeDuplicateUser: function(name) {
|
||||
var self = this;
|
||||
self.log('Server: player already registered, removing duplicate.');
|
||||
},
|
||||
|
||||
//
|
||||
deleteUser: function(name) {
|
||||
var self = this;
|
||||
for (u in self.users) {
|
||||
if (self.users[u].name == name) {
|
||||
self.users[u].sendMsg('removedUser');
|
||||
self.users.splice(u,1);
|
||||
self.log('Server - Removed user ' + name);
|
||||
self.log('Server - Number of players: n= ' + self.users.length);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* nodePong User Object
|
||||
*
|
||||
*/
|
||||
var User = function(name) {
|
||||
var User = function(name, socket) {
|
||||
|
||||
//
|
||||
this.name = (name !== undefined) ? name : '';
|
||||
this.socket = (socket !== undefined) ? socket : '';
|
||||
//
|
||||
this.status = '';
|
||||
|
||||
};
|
||||
//
|
||||
User.prototype.constructor = User;
|
||||
//
|
||||
User.prototype.sendMsg = function(msg, data) {
|
||||
var self = this;
|
||||
self.socket.emit(msg, data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
var Config = {
|
||||
VERSION : '0.1.4',
|
||||
VERSION : '0.1.5',
|
||||
HTTP: {
|
||||
host: '127.0.0.1',
|
||||
port: 8042
|
||||
|
||||
Reference in New Issue
Block a user