Skip to content

Commit

Permalink
hacking in sync support
Browse files Browse the repository at this point in the history
  • Loading branch information
jtwb2 committed Feb 27, 2010
1 parent c338177 commit e9e2ad7
Showing 1 changed file with 31 additions and 3 deletions.
34 changes: 31 additions & 3 deletions fayeserver.js
Expand Up @@ -3,7 +3,31 @@ var sys = require('sys'),
fs = require('fs'),
faye = require('./faye');

var comet = new faye.NodeAdapter({mount: '/fayeclient', timeout: 45});
var comet = new faye.NodeAdapter({mount: '/fayeclient', timeout: 45}),
client = comet.getClient();

// setup sync client; TODO move into a separate module
var state = {};
client.subscribe('/general', function(message) {
// TODO discard malformed messages
message.client && message.type || return;
sys.puts('sync noticed message from client ' + message.client);
sys.puts('message type == ' + message.type);
switch (message.type) {
case 'place' :
state[message.el] = {
x: message.x,
y: message.y
};
break;
case 'delete' :
delete state[message.el];
break;
}
});
//client.subscribe('/sync', function(message) {
// sys.puts('sync request recieved from client ' + message.client);
//});

var port = 8010;

Expand All @@ -14,11 +38,15 @@ http.createServer(function(req, resp) {
if (comet.call(req, resp)) {
sys.puts('** Handled by faye');
return;
} else {
sys.puts('** Handled by server');
}

var path = (req.url === '/') ? '/index.html' : req.url;
if (path === '/sync') {
sys.puts('** Handled by syncserver');
// TODO emit state as JSON
return;
}
sys.puts('** Handled by file server');
fs.readFile('./static/' + path).addCallback(function(content) {
resp.sendHeader(200, {'Content-Type': 'text/html'});
resp.write(content);
Expand Down

0 comments on commit e9e2ad7

Please sign in to comment.