Skip to content

Commit

Permalink
collab server
Browse files Browse the repository at this point in the history
  • Loading branch information
nihar19 committed Sep 18, 2011
1 parent 18589fe commit 93ad550
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 3 deletions.
4 changes: 2 additions & 2 deletions chat.js
Expand Up @@ -4,7 +4,7 @@ var CHAT_PORT = 3000
var var
io = require('socket.io').listen(CHAT_PORT), io = require('socket.io').listen(CHAT_PORT),


io.sockets.on('connection', socketHandler) io.sockets.on('connection', socketHandler);


function socketHandler(socket){ function socketHandler(socket){
socket.emit('asking name', {msg:'What\'s your name?'}); socket.emit('asking name', {msg:'What\'s your name?'});
Expand All @@ -22,5 +22,5 @@ function socketHandler(socket){
socket.on('disconnect', function() { socket.on('disconnect', function() {
io.sockets.emit('message', {name:'GOD', msg:socket.get('name')+' has left the editing session'}); io.sockets.emit('message', {name:'GOD', msg:socket.get('name')+' has left the editing session'});
}); });
} };


19 changes: 18 additions & 1 deletion chat_client.html
@@ -1,6 +1,6 @@
<script src="/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
<script> <script>

var ver = 0;
var socket = io.connect("http://localhost"); var socket = io.connect("http://localhost");
socket.on('asking name', function(data){ socket.on('asking name', function(data){
console.log(data); console.log(data);
Expand All @@ -13,4 +13,21 @@
console.log(data.name + ' : ' + data.msg); console.log(data.name + ' : ' + data.msg);
}); });


function key_handler(key) {


console.log('{'+cpos+','+ver+','+substr+','+e+ '}');
socket.emit('text edit', {cursor:cpos, version:ver, substring:substr, edit:e});
});

socket.on('text edit', function (data){
console.log('text-edit: '+data);
var text = acee.getValue();

text = text.substr(0,data.cpos-1) + data.edit + text.substr(data.cpos -1 + data.edit.length);
ver += 1;

acee.setValue(text);
});

</script> </script>
31 changes: 31 additions & 0 deletions editor.js
@@ -0,0 +1,31 @@

var EDITOR_PORT=3001

var version = 0,
io = require('socket.io').listen(EDITOR_PORT);

class Data {
var cursor;
var edit;
};

var history = new Array();
Data temp;

io.sockets('connection', socketHandler);

function socketHandler(socket) {
socket.on('text edit', function(data){
temp.cursor = data.cursor;
temp.edit = len(data.edit)-len(data.substring);
for(int i=version-data.version-1; i>=0; i--) {
if(temp.cursor >= history[i].cursor){
temp.cursor += history[i].edit;
}
}

data.cursor = temp.cursor;
history.push(temp);
io.sockets.emit('text edit', data);
});
};

0 comments on commit 93ad550

Please sign in to comment.