DAYTIME

DAYTIME

DAYTIME這種時間傳輸協定廣泛的被運行MS-DOS和類似的作業系統的小型計算機使用,該協定不指定固定的傳輸格式,只要求按照ASCII標準傳送數據。

DAYTIME 服務

在程式開發語言中,daytime服務的連線埠號是通過網路資料庫函式getserverbyname()確定的,這個函式返回的是關於網路服務方面的資料,它們和主機資料差不多。程式會先嘗試連線指定主機信息資料庫里的地址,如果成功就讀取daytime服務返回的信息,該信息是一個表示UNIX時間和日期的字元串。如果測試平台是Linux桌面作業系統,修改“/etc/xinetd.d/daytime”檔案,將此檔案中兩個disable的值由yes改為no,再重啟計算機即可運行daytime服務。

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) *

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

相關詞條

相關搜尋

熱門詞條

聯絡我們