mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
Added communication structure
This commit is contained in:
parent
980af70259
commit
94f63fc7b2
10 changed files with 292 additions and 129 deletions
117
server.js
117
server.js
|
|
@ -1,99 +1,40 @@
|
|||
var http = require('http'),
|
||||
io = require('socket.io'),
|
||||
nodeStatic = require('node-static')
|
||||
requirejs = require('requirejs');
|
||||
var requirejs = require('requirejs');
|
||||
|
||||
var inspector = {};
|
||||
|
||||
requirejs.config({
|
||||
nodeRequire: require,
|
||||
baseUrl: 'lib'
|
||||
});
|
||||
|
||||
var requirements = [
|
||||
"Server/HttpServer",
|
||||
"Server/Socket",
|
||||
"Server/Coordinator"
|
||||
];
|
||||
|
||||
requirejs(requirements, function(HttpServer, Socket, Coordinator) {
|
||||
|
||||
var options = {
|
||||
port: 1234,
|
||||
rootDirectory: './',
|
||||
caching: false
|
||||
};
|
||||
|
||||
var coordinator = new Coordinator();
|
||||
var httpServer = new HttpServer(options);
|
||||
var socket = new Socket(httpServer.getServer(), coordinator);
|
||||
|
||||
inspector.coordinator = coordinator;
|
||||
});
|
||||
|
||||
exports = module.exports = inspector;
|
||||
|
||||
/*
|
||||
belongs to channel.js
|
||||
var chuck;
|
||||
requirejs(["Chuck/Chuck"], function(Chuck) {
|
||||
Chuck.init();
|
||||
chuck = Chuck;
|
||||
});
|
||||
|
||||
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(true) {
|
||||
case req.url == '/':
|
||||
fileServer.serveFile('./static/html/index.html', 200, {}, req, res);
|
||||
break;
|
||||
|
||||
case req.url == '/client.js':
|
||||
fileServer.serveFile('./client.js', 200, {}, req, res);
|
||||
break;
|
||||
|
||||
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:
|
||||
handleFileError(res);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
server.listen(1234);
|
||||
|
||||
var socket = io.listen(server);
|
||||
|
||||
socket.configure('development', function(){
|
||||
socket.set('log level', 0);
|
||||
});
|
||||
|
||||
socket.on('connection', function(client) {
|
||||
console.log('client connected');
|
||||
clients.push(client);
|
||||
console.log("Total clients: " + clients.length);
|
||||
|
||||
client.send(JSON.stringify({"startId" : clients.length}));
|
||||
|
||||
client.on('message', function(packet){
|
||||
packet = JSON.parse(packet);
|
||||
|
||||
if(packet && packet.m){
|
||||
switch(packet.m){
|
||||
case 'jump':
|
||||
jump();
|
||||
updateWorld(client);
|
||||
break;
|
||||
case 'ping':
|
||||
pong(client, packet.d);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//updateWorld();
|
||||
});
|
||||
|
||||
client.on('disconnect', function(){
|
||||
console.log("disconnect");
|
||||
});
|
||||
});
|
||||
*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue