DAYTIME

更新时间:2023-10-07 21:54

DAYTIME这种时间传输协议广泛的被运行MS-DOS和类似的操作系统的小型计算机使用,该协议不指定固定的传输格式,只要求按照ASCII标准发送数据。

服务

在程序开发语言中,daytime服务的端口号是通过网络数据库函数getserverbyname()确定的,这个函数返回的是关于网络服务方面的资料,它们和主机资料差不多。程序会先尝试连接指定主机信息数据库里的地址,如果成功就读取daytime服务返回的信息,该信息是一个表示UNIX时间和日期的字符串。如果测试平台是Linux桌面操作系统,修改“/etc/xinetd.d/daytime”文件,将此文件中两个disable的值由yes改为no,再重启计算机即可运行daytime服务。

协议

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协议获取标准时间例程

中科院国家授时中心,采用北京时间

'时间格式:Mon Jul 26 09:58:57 2004

美国标准技术院,采用格灵威时间

'时间格式:53212 04-07-26 02:00:12 50 0 0 488.3 UTC(NIST) *

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}