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
						
					
					
				| # 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();
 | |
| });
 | |
| ```
 | |
| 
 |