本程序能通过网络授时服务器获取当前时间,因为一般我们的手机只能提供到分钟的时间显示,并且由于手机硬件的固有问题导致经常会出现手机系统时间不准确问题,(已知的某平台的手机会在充电后时间变快4分钟),这是编写本程序的初衷,本程序功能够提供给使用者到秒级的时间显示,同时告诉使用者手机系统时间与当前标准时间的差值,但无权去修改使用者手机的系统时间,软件使用中会消耗非常少的网络流量。
NTP授时精度与NTP服务器与用户间的网络状况有关,主要取决于NTP包往返路由的延时对称程度,往返路由的延时不对称值不超过网络延时。式(2)是在假设NTP请求和回复包在网上传送延时相等,即d1=d2=d/2的情况下得出的,而d1、d2的取值范围在(0...d)间,由式(3)可以得出授时误差是±d/2。一般广域网的网络延时在10 ms~500ms之间;局域网的网络延时在计时操作系统内核处理延迟的情况下通常小于1ms。
计算机时钟偏差分析 通用PC机自带两类时钟源:硬件时钟和软件时钟(或称为系统时钟)。不论是硬件时钟还是软件时钟,都是由石英晶体振荡器驱动的,通过累计石英晶体振荡器输出脉冲数,换算出时间。所以计算机时钟的准确度取决于晶振频率准确度。受温度变化、电压、芯片老化等因素影响,晶振频率会发生小幅度波动,其中温度对晶振频影响。 由于工艺和材料的原因,同一生产线上标称频率相同的石英晶体,其实际频率是不同的,实际频率与标称频率偏差率从10-4量级到10-9量级不等。以10-4量级为例,时钟每天至少误差8.64 s。
NTP的工作模式 Server/Client mode:用户向一个或多个服务器发出服务请求,根据所交换的信息,从中选择认为准确的时间,并调整本地的时钟。 Multicast/Broadcast mode:此种模式是适用于在高速的LAN上。利用一个或多个服务器在固定的周期向某个多播地址做广播。 Symmetric mode:两个以上的Server互相进行时间消息的通讯,可以相互校正对方的时间,以维持整个subnet的时间的一致性。