Download source files - 12 Kb
Download demo project - 5 Kb
Introduction
Though not obvious, time synchronization is sometimes important. The best example is the Kerberos authentication protocol, which requires the resources to be synchronized within minutes or even seconds, but there are other situations as well. The Network Time Protocol (NTP) and its simplified form (SNTP) are widely used to synchronize network resources, due to their simplicity and effectiveness. There are many programs available that synchronize your PC's clock with that of a time server. Dimension 4 is my favorite.
In case you need time synchronization embedded into your software, here is the C# alternative. It's simple, fast and integrates seamlessly with the .NET platform. There is a Java implementation of a NTP client by Michel Van den Bergh, but I don't have the URL anymore. Maybe Michel reads this and will send me a note.
There are several time severs on the Internet and the list below contains those operated by NIST. If you need more, use a search engine.
Name | IP Address | Location |
time-a.nist.gov | 129.6.15.28 | NIST, Gaithersburg, Maryland |
time-b.nist.gov | 129.6.15.29 | NIST, Gaithersburg, Maryland |
time-a.timefreq.bldrdoc.gov | 132.163.4.101 | NIST, Boulder, Colorado |
time-b.timefreq.bldrdoc.gov | 132.163.4.102 | NIST, Boulder, Colorado |
time-c.timefreq.bldrdoc.gov | 132.163.4.103 | NIST, Boulder, Colorado |
utcnist.colorado.edu | 128.138.140.44 | University of Colorado, Boulder |
time.nist.gov | 192.43.244.18 | NCAR, Boulder, Colorado |
time-nw.nist.gov | 131.107.1.10 | Microsoft, Redmond, Washington |
nist1.datum.com | 209.0.72.7 | Datum, San Jose, California |
nist1.dc.certifiedtime.com | 216.200.93.8 | Abovnet, Virginia |
nist1.nyc.certifiedtime.com | 208.184.49.9 | Abovnet, New York City |
nist1.sjc.certifiedtime.com | 208.185.146.41 | Abovnet, San Jose, California |
I am a software engineer based in Timișoara, Romania and currently hold the position of software architect for one of the largest companies in the world.
I invented a dialect of the Forth programming language and implemented the first Forth compiler for the .NET platform. I reverse-engineered the communication protocol of some GPS trackers and wrote from scratch a vehicle tracking system that is currently used to track my two cars. I hold a PhD in computer science and I am the author of several papers and a book chapter. In the 90s I wrote several computer viruses in assembly language for my own research and I was the first to devise a technique to deter heuristic virus scanners. In short, a humble man.