[go: up one dir, main page]

This package has been deprecated

Author message:

This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.

sntp
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/sntp package

3.0.2 • Public • Published

sntp

An SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time along with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned t offset to the local time.

Build Status

Usage

var Sntp = require('sntp');
 
// All options are optional
 
var options = {
    host: 'nist1-sj.ustiming.org',  // Defaults to pool.ntp.org
    port: 123,                      // Defaults to 123 (NTP)
    resolveReference: true,         // Default to false (not resolving)
    timeout: 1000                   // Defaults to zero (no timeout)
};
 
// Request server time
 
const exec = async function () {
 
    try {
        const time = await Sntp.time(options);
        console.log('Local clock is off by: ' + time.t + ' milliseconds');
        process.exit(0);
    }
    catch (err) {
        console.log('Failed: ' + err.message);
        process.exit(1);
    }
};
 
exec();

If an application needs to maintain continuous time synchronization, the module provides a stateful method for querying the current offset only when the last one is too old (defaults to daily).

// Request offset once
 
const exec = async function () {
 
    const offset1 = await Sntp.offset();
    console.log(offset1);                   // New (served fresh)
 
    // Request offset again
 
    const offset2 = await Sntp.offset();
    console.log(offset2);                   // Identical (served from cache)
};
 
exec();

To set a background offset refresh, start the interval and use the provided now() method. If for any reason the client fails to obtain an up-to-date offset, the current system clock is used.

var before = Sntp.now();                    // System time without offset
 
const exec = async function () {
 
    await Sntp.start();
    var now = Sntp.now();                   // With offset
    Sntp.stop();
};
 
exec();

Readme

Keywords

Package Sidebar

Install

npm i sntp

Weekly Downloads

894,993

Version

3.0.2

License

BSD-3-Clause

Unpacked Size

13.5 kB

Total Files

5

Last publish

Collaborators

  • nargonath
  • devinivy
  • marsup
  • nlf