初識Daytime協議
不知道大家是否知道這樣一個協議,它是掌控日期查詢等內容的。那么現在我們就具體來了解一下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)