不知道大家是否知道这样一个协议,它是掌控日期查询等内容的。那么现在我们就具体来了解一下Daytime协议吧。英文原义:Daytime Protocol,中文释义:日期查询协议。注解:这种时间传输协议广泛的被运行MS-DOS和类似的操作系统的小型计算机使用,该协议不指定固定的传输格式,只要求按照ASCII标准发送数据.
Daytime协议(RFC867 Daytime Protocol)
本RFC规范了一个ARPA Internet community上的标准.在ARPA Internet上的所有主机应当采用和实现这个标准.
一个有用的测量和调试工具就是daytime服务.它的作用就是返回当前时间和日期,格式是字符串格式.
* 基于TCP的daytime服务
daytime服务是基于TCP的应用,服务器在TCP端口13侦听,一旦有连接建立就返回ASCII形式的日期和时间(接收到的任何数据被忽略),在传送完后关闭连接.
* 基于UDP的daytime服务
daytime服务也可以使用UDP协议,它的端口也是13,不过UDP是用数据报传送当前时间的.接收到的数据被忽略.
* Daytime协议的格式
对于daytime没有特定的格式,建议使用ASCII可打印字符,空格和回车换行符.daytime应该在一行上.
下面是两种流行的格式:
一种流行的格式是:Weekday, Month Day, Year Time-Zone
例子:Tuesday, February 22, 1982 17:37:43-PST
另一种流行的格式用于SMTP中:dd mmm yy hh:mm:ss zzz
例子:02 FEB 82 07:59:01 PST
注意:对于机器来说,有用的时间采用了时间协议(Time Protocol RFC-868)
接下来我们用VB程序实现通过RFC867协议设置我们自己的计算机系统时间,为使程序简化,程序未进行日期校正,只进行时间校正.在FORM1中添加1个Winsock控件,将下面代码剪贴到FORM1的代码窗体中即可:
Option Explicit
'采用RFC867 Daytime协议获取标准时间例程
'www.time.ac.cn为中科院国家授时中心,采用北京时间
'时间格式:Mon Jul 26 09:58:57 2004
'time.nist.gov为美国标准技术院,采用格灵威时间
'时间格式:53212 04-07-26 02:00:12 50 0 0 488.3 UTC(NIST) *
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)