diff --git a/app.js b/app.js index 4d66dff..04bc6b4 100644 --- a/app.js +++ b/app.js @@ -211,8 +211,10 @@ api.on('connection', function(spark) { spark.on('node-ping', function(data) { + var start = (!_.isUndefined(data) && !_.isUndefined(data.clientTime) ? data.clientTime : null); + spark.emit('node-pong', { - clientTime: data.clientTime, + clientTime: start, serverTime: _.now() }); }); @@ -267,6 +269,7 @@ client.on('connection', function (clientSpark) clientSpark.on('client-pong', function (data) { + var start = (!_.isUndefined(data) && !_.isUndefined(data.serverTime) ? data.serverTime : clientLatency); var latency = Math.ceil( (_.now() - data.serverTime) / 2 ); clientSpark.emit('client-latency', { latency: latency }); @@ -275,10 +278,12 @@ client.on('connection', function (clientSpark) var latencyTimeout = setInterval( function () { + clientLatency = _.now(); + client.write({ action: 'client-ping', data: { - serverTime: _.now() + serverTime: clientLatency } }); }, 5000);