Commit 44af2fa8 authored by 18손재민's avatar 18손재민

Merge branch 'server'

# Conflicts:
#	server.js
parents 8b906329 b59a2fca
var GameServer = GameServer || {};
GameServer.serverNumber = -1;
GameServer.Phase = {READY: 0, COUNT: -1, START: 1, MAIN: 2, MUSIC: 3};
GameServer.connectCount = 0;
GameServer.disconnectCount = 0;
GameServer.currentPlayer = [];
GameServer.playingRoom = [];
......
var socket = io.connect();
var serverNumber = -1;
// init account
socket.emit('idRequest');
socket.on('syncServer', function(msg)
{
if (serverNumber < 0 || serverNumber === msg)
{
socket.emit('idRequest');
serverNumber = msg;
}
else location.reload();
});
socket.on('alert', function(msg) // string errorcode
{
......
......@@ -15,11 +15,15 @@ app.get('/', function(req, res) {
// http 기본 포트(80)에 서버 열기
server.listen(80, function() {
console.log('[SERVER] Listening on port ' + server.address().port);
GameServer.serverNumber = Math.floor(Math.random() * 1000 + 1);
console.log('[SERVER] server number is ${GameServer.serverNumber}');
});
// 클라이언트 요청에 대한 콜백 정의
io.on('connection', function(socket)
{
socket.emit('syncServer', GameServer.serverNumber);
socket.on('idRequest', function() {
socket.playerData =
{
......@@ -36,6 +40,7 @@ io.on('connection', function(socket)
str: 'your number is ' + socket.playerData.id,
num: socket.playerData.id
});
GameServer.connectCount++;
});
socket.on('enterRoom', function(msg) // string new_nickname
......@@ -84,7 +89,7 @@ io.on('connection', function(socket)
socket.playerData.currentRoom.announceToRoom('attackMode', socket.playerData.id);
}
}
catch (e) {console.log('[ERR] error catched on setPlayerTyping')}
catch (e) {console.error('[ERR] error catched on setPlayerTyping')}
});
socket.on('endCount', function()
......@@ -141,14 +146,25 @@ io.on('connection', function(socket)
socket.on('disconnect', function(reason)
{
GameServer.disconnectCount++;
let data = socket.playerData;
if (data === undefined)
if (typeof data === undefined)
{
console.log('[ERROR] data.id is undefined');
console.log(GameServer.currentPlayer);
console.error('[ERROR] data is undefined');
console.table(GameServer.currentPlayer);
}
else // data.id is not undefined
{
disconnectUser(data, reason);
}
const connectDiff = GameServer.connectCount - GameServer.disconnectCount;
const playerCount = GameServer.currentPlayer.length
console.log({ connectDiff, playerCount });
});
});
var disconnectUser = function(data, reason)
{
console.log('['+ data.id +'] client disconnected, reason: ' + reason);
let idxToDel = GameServer.currentPlayer.findIndex(function(element)
{
......@@ -186,6 +202,4 @@ io.on('connection', function(socket)
GameServer.currentPlayer.splice(idxToDel, 1);
}
console.log('['+ data.id +'] disconnect complete');
}
});
});
\ No newline at end of file
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment