局域网内同步(这个时在工作中用得最多的):如果只需要在本局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。你需要选择局域网中的一个节点的时钟作为“权威”的时间源,然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要可局域网外的系统进行时钟同步。如果一个系统在局域网的内部,同时又不能使用无线时钟,这种方式是的选择。
NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒误差内。它使用Marzullo算法的修改版来选择的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对成路由可拥塞控制可能导致100毫秒(或更高)的错误。
联网计算机同步时钟最简便的方法是网络授时。网络授时分为广域网授时和局域网授时。广域网授时精度通常能达50ms级,但有时超过500ms,这是因为每次经过的路由器路径可能不相同。现在还没有更好的办法将这种不同路径延迟的时间误差完全消除。局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级。Windows内置NTP服务,在局域网内其授时精度也只能达10ms级。因此,提高局域网NTP授时精度成为一个迫切需要解决的问题。
本程序能通过网络授时服务器获取当前时间,因为一般我们的手机只能提供到分钟的时间显示,并且由于手机硬件的固有问题导致经常会出现手机系统时间不准确问题,(已知的某平台的手机会在充电后时间变快4分钟),这是编写本程序的初衷,本程序功能够提供给使用者到秒级的时间显示,同时告诉使用者手机系统时间与当前标准时间的差值,但无权去修改使用者手机的系统时间,软件使用中会消耗非常少的网络流量。