Update realtime check and refresh event, compress data using LZString UTF16 to minimize network delay

This commit is contained in:
Wu Cheng-Han 2016-08-02 17:16:01 +08:00
parent f49fc192f6
commit 67474aa1d4
2 changed files with 9 additions and 2 deletions

View file

@ -69,6 +69,7 @@ function emitCheck(note) {
authors: note.authors,
authorship: note.authorship
};
out = LZString.compressToUTF16(JSON.stringify(out));
realtime.io.to(note.id).emit('check', out);
}
@ -310,7 +311,7 @@ function emitRefresh(socket) {
var noteId = socket.noteId;
if (!noteId || !notes[noteId]) return;
var note = notes[noteId];
socket.emit('refresh', {
var out = {
docmaxlength: config.documentmaxlength,
owner: note.owner,
ownerprofile: note.ownerprofile,
@ -321,7 +322,9 @@ function emitRefresh(socket) {
permission: note.permission,
createtime: note.createtime,
updatetime: note.updatetime
});
};
out = LZString.compressToUTF16(JSON.stringify(out));
socket.emit('refresh', out);
}
function clearSocketQueue(queue, socket) {

View file

@ -2360,6 +2360,8 @@ editor.on('update', function () {
});
});
socket.on('check', function (data) {
data = LZString.decompressFromUTF16(data);
data = JSON.parse(data);
//console.log(data);
updateLastInfo(data);
});
@ -2371,6 +2373,8 @@ var otk = null;
var owner = null;
var permission = null;
socket.on('refresh', function (data) {
data = LZString.decompressFromUTF16(data);
data = JSON.parse(data);
//console.log(data);
docmaxlength = data.docmaxlength;
editor.setOption("maxLength", docmaxlength);