extended file serving to static folder

This commit is contained in:
logsol 2012-07-07 18:53:44 +02:00
parent 5a7234ade4
commit 980af70259
4 changed files with 107 additions and 16 deletions

View file

@ -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();
});
}
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;
}
}

View file

@ -5,7 +5,7 @@ define(["Chuck/Processor"], function(Processor){
var processor = new Processor();
}
Chuck.processRequest = function(package){
Chuck.processGameCommand = function(package){
console.log(package);
}

View file

@ -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('<h1>404 not ... found</h1>');
}
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('<h1>404 not ... found</h1>');
}
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");
}); */
});
});

34
static/html/index.html Normal file
View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<title>Chuck</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="/socket.io/socket.io.js"></script>
<script data-main="client" src="require.js"></script>
<style>
html, body {
margin: 0;
padding: 0;
display: table;
width: 100%;
height: 100%;
background: #000;
}
#container {
text-align: center;
display: table-cell;
vertical-align: middle;
height: 100%;
}
canvas {
background: #333;
}
</style>
</head>
<body>
<div id="container">
hello chuck<br>
<canvas id="canvas" width="600" height="400"></canvas>
</div>
</body>
</html>