Ridiculously Simple NTP Client

File:   ?\rsNTP\rsNTP.htm
Web:    www.qsl.net/dl4yhf/rsNTP/rsNTP.htm
Author: Wolfgang 'Wolf' DL4YHF
Date:   2014-02-09


Certain applications (like WSPR, a weak-signal digital mode for amateur radio) require a precise timing, and thus a precisely set system clock (date and time).
Since the available 'Internet Time' service provided by windows itself didn't work reliably, and other time-keeping software packages were difficult to install (and gave no indication of what they were doing, all they did was running as a blackbox aka 'service' in the background), the author wrote this implementation of a 'ridiculously simple NTP (Network Time Protocol) client'.
It needs no installation, doesn't install drivers, services, and other obscure stuff.
There is only one catch (Windows 7 / 8 / Vista users beware):
To successfully adjust the PC's system time to eliminate the clock error (offset in seconds) measured by NTP, it must be run 'as administrator'. The internet is full of how-to's about running a program 'as administator', so there's no need for details here. Just in short form: After unpacking the software into a directory of your choice,
  right-click on 'NtpClient.exe',
  select 'properties', 'compatibility',
  set the checkmark 'run as administrator'.
This way, the program will be run 'as administrator' whenever you double-click its icon. The dreadful UAC may still prompt you with a warning whenever starting it this way - any suggestions how to get rid of this annoyance are most welcome.

When starting the program for the first time, select an NTP server in your country, or at least on your continent. The combo box in the upper left corner contains a list of popular servers, but you can type the hostname or numeric IP address ('dotted address') into that field.
For most parts of the world (and if you don't have access to an NTP server in your local network), it is recommended to use one of the NTP Pool addresses. By virtue of a DNS trick, the pool automatically picks the 'best' NTP server currently available for you.
The rsNTP window shows the current date and time in UTC, formatted according to ISO 8601, in the upper part.
To keep it simple, rsNTP doesn't care for 'local time' and national preferrences to format date and time.

To perform a single-time synchronisation of the PC's system time, click the 'Synchronize' button in the lower left corner. The program shows verbose info in the text box in the center, including the 'round trip' time of the UDP datagrams sent from client to server, and the response from the server back to the client. The lower the round-trip time, the more accurate the synchronisation.

To keep the PC's system time synchronized permanently, set the checkmark 'synchronize periodically'.
The program will try to synchronize every 30 minutes, which should be ok even for the most demanding applications, and keeps the traffic at the remove NTP server low.
While 'periodically synchronising', the program only emits one line of text every 30 minutes, so the history of clock adjustments can be seen.
To avoid flooding the server with unnecessarily frequent requests, the 'Synchronize' button is disabled for a few seconds after a successful update.

The program doesn't need an installer. It is provided together with the sourcecode (written in an ancient version of Borland C++Builder), which can be downloaded from here.

Enjoy !
73, Wolfgang "Wolf" Buescher DL4YHF .


Disclaimer

The author provides this software "AS IS" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
The entire risk as to the quality and performance is with you. In no event unless required by applicable law will the author and/or any other party who may modify and/or redistribute this software be liable to you for damages, including any lost profits, lost monies, or other special, incidental or consequential damages arising out of the use or inability to use this package, or for any claim by any other party.

This program is still "under construction", and there are certainly a number of bugs lurking in the code. The entire risk is with you. You may find udates at the DL4YHF website (search for DL4YHF rsNTP) .