首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

求ntp(网络时间协议)服务器端程序代码(例子程序代码也行)!解决方案

2012-02-29 
求ntp(网络时间协议)服务器端程序代码(例子程序代码也行)!!!求ntp(网络时间协议)服务器端程序代码(例子程

求ntp(网络时间协议)服务器端程序代码(例子程序代码也行)!!!
求ntp(网络时间协议)服务器端程序代码(例子程序或方法说明)!!!  
jink1977@163.com

[解决办法]
用TServerSocket在OnReadClient事件里向客户端返回服务器时间就可以了。
[解决办法]
网络上的校时协议有好几种:

Day Time Protocol(RFC-867)
Time Protocol(RFC-868)
Network Time Protocol (RFC-1305)
Simple Network Time Protocol(RFC-2030)

最早使用的网络时间协定是RFC-867(port 13)和RFC-868(port 37)。Day Time Protocol送出的码是ASCII码,直接表示日期、年份、时间及时区。Time Protocol送的是32 bits的binary number,以二进位表示自公元1900年1月1日零时起开始的秒数,时区都是格林威治时区。而Day Time Protocol和Time Protocol都只能表示到秒,而且并没有估算到网络的时延。在每一版的UNIX中都有rdate指令, 可向其他UNIX工作站取时间, 如果您的要求不是很高,在局域网中是适合的。

Network Time Protocol使用port 123,64 bits的binary number,前32 bits和Time Protocol一样,后32 bits用以表示秒以下的部份,并加上网络延时量的估计.理论上可以精确到到2的-32次方秒,实际使用大约只有50ms(广域网)左右,在局域网可达1ms。在实际中您应找最近而且最稳定的Server作时间源。

SNTP算是NTP的一个子集,它不像NTP可以同時和多个Server对时, 一般在Client端下使用。

如果您要求实在不高,建议您使用rdate即可,简单又方便。如果您的精确度要求在秒以下,建议您使用SNTP。如果您有一群工作站需要同步或做较精密的时间运算,那么建议您使用NTP,操作系统最好是UNIX,其次是WinNT。Win95及时的解析度只有55ms,又不稳定,不建议使用。

热点排行