WEB开发网
开发学院软件开发VC 利用RFC868协议编写网络对时程序 阅读

利用RFC868协议编写网络对时程序

 2010-06-27 20:41:52 来源:WEB开发网   
核心提示:一、网络授时服务网络授时服务是在网络上设置一些时间服务器,用户通过Internet访问这些时间服务器就可同步本地计算机时钟的服务,利用RFC868协议编写网络对时程序,网络授时服务有三个协议,分别是Network Time Protocol (RFC-1305),C代表客户,S: 检测端口37U: 发送一个空数据报到端

一、网络授时服务

网络授时服务是在网络上设置一些时间服务器,用户通过Internet访问这些时间服务器就可同步本地计算机时钟的服务。网络授时服务有三个协议,分别是Network Time Protocol (RFC-1305),Daytime Protocol (RFC-867),Time Protocol (RFC-868)。

有关这些协议的详细信息,可参考以下网站:

http://www.boulder.nist.gov/timefreq/service/its.htm
http://www.faqs.org/rfcs/rfc867.html
http://www.faqs.org/rfcs/rfc1305.html
http://www.faqs.org/rfcs/rfc868.html

我的程序中列出的时间服务器列表,主要来自:

http://www.boulder.nist.gov/timefreq/service/time-servers.html

更多的时间服务器列表请参考以下网站:

http://www.eecis.udel.edu/~mills/ntp/servers.html

二、Time Protocol (RFC-868)协议

Time Protocol (RFC-868)协议是一种较简单的协议。此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是以秒数,是从1900年1月1日午夜到现在的秒数。

这个协议可以工作在TCP和UDP协议下。下面是通过TCP协议工作的时间协议的工作过程:这里S代表服务器,C代表客户。

S: 检测端口37
U: 连接到端口37
S: 以32位二进制数发送时间
U: 接收时间
U: 关闭连接
S: 关闭连接

如果服务器不能决定现在是什么时间,服务器会拒绝连接或不发送任何数据而直接关闭连接。

下面我们看看使用UDP协议的情况:这里S代表服务器,C代表客户。

S: 检测端口37
U: 发送一个空数据报到端口37
S: 接收这个空数据报
S: 发送包含32位二进制数(用于表示时间)的数据报
U: 接收时间数据报

如果服务器不能决定现在是什么时间,服务器会抛弃接收到的数据报而不作出任何应答。

1 2 3  下一页

Tags:利用 RFC 协议

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接