timesync
Version:
Time synchronization between peers
49 lines (41 loc) • 1.3 kB
HTML
<html>
<head>
<meta charset="UTF-8">
<!-- include es5-shim and es5-shim when support for older browsers is needed -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.5/es5-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.23.0/es6-shim.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script src="/timesync/timesync.js"></script>
<script>
var socket1 = io('http://localhost:8081');
var ts = timesync.create({
server: socket1,
interval: 5000
});
ts.on('sync', function (state) {
console.log('sync ' + state + '');
});
ts.on('change', function (offset) {
console.log('changed offset: ' + offset + ' ms');
});
ts.send = function (socket, data, timeout) {
//console.log('send', data);
return new Promise(function (resolve, reject) {
var timeoutFn = setTimeout(reject, timeout);
socket.emit('timesync', data, function () {
clearTimeout(timeoutFn);
resolve();
});
});
};
socket1.on('timesync', function (data) {
//console.log('receive', data);
ts.receive(null, data);
});
</script>
</head>
<body>
(see outputs in the developer console)
</body>
</html>