最近因工作原因,需要客户端计算机与FTP服务器时间上进行同步,上网搜集了些时间同步的方法记录下来, 以备不需之用!
1.时间协议(TIME protocol)
时间协议(TIME protocol)是一个在RFC 868内定义的网络协议。它用作提供机器可读的日期时间资讯。
时间协议可以在TCP或UDP上使用。在TCP上,主机会连接支援时间协议的服务器的TCP埠 37。服务器会传送32位二进制数字然后断开连接,数字表示由格林威治时间1900年1月1日午夜0时0分0秒至当时的总秒数。主机在接收到时间后断开连接。
在UDP上,客户端会每送一个(通常为空的)数据包到UDP埠 37。服务器会把包含时间的数据包传回。在过程中没有进行连线。
现时,时间协议已经被网络时间协议(Network Time Protocol,NTP)所取代。
使用时间协议需要在服务器端开启时间服务,目前在windows中我还没找到系统自带的开启时间服务的方法, 但网络上有些小软件可以帮助实现(如NetTime网络时标, 它支持Time,NTP等好几种协议, 可惜需要注册使用).
基于时间协议客户端实现代码:
2.网络校时协议(NTP)
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如