diff --git a/client.js b/client.js index dcdf2f4..98abfec 100644 --- a/client.js +++ b/client.js @@ -2,7 +2,50 @@ requirejs.config({ baseUrl: 'lib' }); +var Chuck; +requirejs(["Chuck/Chuck"], function(c) { + Chuck = c; + setupSocket(); +}); -requirejs(["Chuck/Chuck"], function(Chuck) { +function setupSocket(){ + var socket = io.connect(location.href); + + socket.on('connect', onConnect); + socket.on('message', onMessage); + socket.on('disconnect',onDisconnect); +} + +function onConnect () { + console.log('Client connected'); Chuck.init(); -}); \ No newline at end of file +} + +function onMessage (packet) { + packet = JSON.parse(packet); + + if (packet && packet.m) { + processServerCommand(packet); + } +} + +function onDisconnect () { + console.log('client disconnected'); +} + +function processServerCommand(packet){ + switch(packet.m) { + case 'join': + break; + + case 'nick': + break; + + case 'gameCommand': + Chuck.processGameCommand(packet.d); + break; + + default: + break; + } +} \ No newline at end of file diff --git a/lib/Chuck/Chuck.js b/lib/Chuck/Chuck.js index f0b8334..e55b729 100644 --- a/lib/Chuck/Chuck.js +++ b/lib/Chuck/Chuck.js @@ -5,7 +5,7 @@ define(["Chuck/Processor"], function(Processor){ var processor = new Processor(); } - Chuck.processRequest = function(package){ + Chuck.processGameCommand = function(package){ console.log(package); } diff --git a/server.js b/server.js index 295c129..717a8a9 100644 --- a/server.js +++ b/server.js @@ -14,33 +14,46 @@ requirejs(["Chuck/Chuck"], function(Chuck) { Chuck.init(); }); +var clients = []; // Setting up http server var fileServer = new nodeStatic.Server('./', { cache: false }); +function handleFileError(res){ + res.writeHead(404, {'Content-Type': 'text/html'}); + res.end('

404 not ... found

'); +} + var server = http.createServer( function(req, res){ req.addListener('end', function () { - switch(req.url) { - case '/': - fileServer.serveFile('./index.html', 200, {}, req, res); + switch(true) { + case req.url == '/': + fileServer.serveFile('./static/html/index.html', 200, {}, req, res); break; - case '/client.js': + case req.url == '/client.js': fileServer.serveFile('./client.js', 200, {}, req, res); break; - case '/require.js': + case req.url == '/require.js': fileServer.serveFile('./node_modules/requirejs/require.js', 200, {}, req, res); break; + case new RegExp(/^\/lib/).test(req.url): + fileServer.serve(req, res, function(){ + handleFileError(res) + }); + break; + + case new RegExp(/^\/static/).test(req.url): + fileServer.serve(req, res, function(){ + handleFileError(res) + }); + break; + default: - if(req.url.match(/^\/lib/)) { - fileServer.serve(req, res); - } else { - res.writeHead(404, {'Content-Type': 'text/html'}); - res.end('

404 not ... found

'); - } + handleFileError(res); break; } }); @@ -54,7 +67,8 @@ socket.configure('development', function(){ socket.set('log level', 0); }); -socket.on('connection', function(client) {/* +socket.on('connection', function(client) { + console.log('client connected'); clients.push(client); console.log("Total clients: " + clients.length); @@ -81,5 +95,5 @@ socket.on('connection', function(client) {/* client.on('disconnect', function(){ console.log("disconnect"); - }); */ + }); }); \ No newline at end of file diff --git a/static/html/index.html b/static/html/index.html new file mode 100644 index 0000000..d91ebbe --- /dev/null +++ b/static/html/index.html @@ -0,0 +1,34 @@ + + + + Chuck + + + + + + +
+ hello chuck
+ +
+ +