You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					69 lines
				
				1.9 KiB
			
		
		
			
		
	
	
					69 lines
				
				1.9 KiB
			| 
											3 years ago
										 | # 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. | ||
|  | 
 | ||
|  | [](http://travis-ci.org/hueniverse/sntp) | ||
|  | 
 | ||
|  | # Usage
 | ||
|  | 
 | ||
|  | ```javascript | ||
|  | 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 | ||
|  | 
 | ||
|  | Sntp.time(options, function (err, time) { | ||
|  | 
 | ||
|  |     if (err) { | ||
|  |         console.log('Failed: ' + err.message); | ||
|  |         process.exit(1); | ||
|  |     } | ||
|  | 
 | ||
|  |     console.log('Local clock is off by: ' + time.t + ' milliseconds'); | ||
|  |     process.exit(0); | ||
|  | }); | ||
|  | ``` | ||
|  | 
 | ||
|  | 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). | ||
|  | 
 | ||
|  | ```javascript | ||
|  | // Request offset once | ||
|  | 
 | ||
|  | Sntp.offset(function (err, offset) { | ||
|  | 
 | ||
|  |     console.log(offset);                    // New (served fresh) | ||
|  | 
 | ||
|  |     // Request offset again | ||
|  | 
 | ||
|  |     Sntp.offset(function (err, offset) { | ||
|  | 
 | ||
|  |         console.log(offset);                // Identical (served from cache) | ||
|  |     }); | ||
|  | }); | ||
|  | ``` | ||
|  | 
 | ||
|  | 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. | ||
|  | 
 | ||
|  | ```javascript | ||
|  | var before = Sntp.now();                    // System time without offset | ||
|  | 
 | ||
|  | Sntp.start(function () { | ||
|  | 
 | ||
|  |     var now = Sntp.now();                   // With offset | ||
|  |     Sntp.stop(); | ||
|  | }); | ||
|  | ``` | ||
|  | 
 |