成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談daytime協議和時間協議

網絡 網絡管理
這里我們針對daytime協議的內容進行一下簡單的介紹。首先我們針對這個協議的概念進行了分析,之后對于時間協議的內容也做了介紹。

這次我們主要講解一下daytime協議和時間協議相關服務的問題,讓我們一起來了解一下daytime協議、時間協議的內容吧。在一個局域網中,許多系統都要求每臺計算機能夠保持時間的一致性,WIN2000系統提供了與主域服務器時間同步功能,即工作站只要登錄到主域服務器,工作站系統的時間自動與主域服務器時間一致,但接下來的問題是我們如何使主域服務器的時間同步世界標準時間.如要獲得世界標準時間,比較精確的做法是使用GPS衛星時鐘獲得毫秒級精度的標準時間,但這是要money的哦.如果我們在時間精度上只需要秒級的,又能夠連接到Internet,則我們可以利用Internet上的標準時間服務器獲得標準時間.

事實上在Internet上有三個不同的時間服務,每一個都由Request for Comment(RFC)定義為Internet日期時間標準.這三個標準分別為:RFC-867、RFC-868和RFC-1305.下面就先介紹RFC-867:

RFC867 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為美國標準技術院,采用格靈威時間

  1. 時間格式:53212 04-07-26 02:00:12 50 0 0 488.3 UTC(NIST) *  
  2. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)  
  3. Dim NoSrv As Boolean  
  4. Dim TimeFromNet  
  5. Private Sub Form_Load()  
  6. Winsock1.Protocol = sckTCPProtocol '采用TCP協議  
  7. NetTime "www.time.ac.cn" '首先取中科院國家授時中心時間  
  8. If NoSrv Or TimeFromNet = "" Then 

若未取到中科院國家授時中心時間,則取美國標準技術院時間

  1. NetTime "time.nist.gov"  
  2. If NoSrv Or TimeFromNet = "" Then 

若不能取美國標準技術院時間,則報錯

  1. MsgBox "檢測不到網絡標準時間服務器time.nist.gov!"  
  2. Else 

為使網絡傳輸誤差減小,第2次再取美國標準技術院時間

  1. NetTime "time.nist.gov" 
  2. If TimeFromNet = "" Then  
  3. MsgBox "網絡標準時間服務器time.nist.gov超時!" 
  4. Else  
  5. TimeFromNet = Mid(TimeFromNet, 17, 8)  
  6. TimeFromNet = TimeSerial((Hour(TimeFromNet) + 8) Mod 24, Minute(TimeFromNet), Second(TimeFromNet))  
  7. Time = TimeFromNet '設置系統時間  
  8. End If  
  9. End If  
  10. Else 

為使網絡傳輸誤差減小,第2次再取中科院國家授時中心時間#p#

  1. NetTime "www.time.ac.cn" 
  2. If TimeFromNet = "" Then  
  3. MsgBox "網絡標準時間服務器www.time.ac.cn超時!" 
  4. Else  
  5. Time = Mid(TimeFromNet, 12, 8) '設置系統時間  
  6. End If  
  7. End If  
  8. End  
  9. End Sub 

關閉Winsock子程序

  1. Private Sub Winsock1_Close()  
  2. If Winsock1.State <> sckClosed Then  
  3. Winsock1.Close  
  4. End If  
  5. End Sub 

Winsock接收數據事件

  1. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)  
  2. TimeFromNet = String(bytesTotal, " ")  
  3. Winsock1.GetData TimeFromNet, vbString, bytesTotal  
  4. End Sub 

Winsock出錯事件

  1. Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)  
  2. NoSrv = True  
  3. End Sub 

從互聯網上標準時間提供網站獲取標準時間

  1. Private Sub NetTime(TimeSrv As String)  
  2. NoSrv = False  
  3. TimeFromNet = "" 
  4. If Winsock1.State <> sckClosed Then Winsock1.Close  
  5. Winsock1.RemoteHost = TimeSrv ' "www.time.ac.cn" 或 "time.nist.gov" 
  6. Winsock1.RemotePort = 13  
  7. Winsock1.LocalPort = 0  
  8. Winsock1.Connect  
  9. Do While TimeFromNet = "" '循環等待標準時間網站返回時間數據  
  10. If NoSrv Then Exit Do '若Winsock出錯,則跳出循環等待  
  11. Sleep 55  
  12. DoEvents  
  13. Loop  
  14. If Winsock1.State <> sckClosed Then Winsock1.Close  
  15. End Sub 

上面介紹了RFC-867標準和VB例程,顯然RFC-867標準采用返回當前時間和日期的格式是字符串格式以及對于daytime協議沒有特定的格式(例如:中科院國家授時中心為"Mon Jul 26 09:58:57 2004",而美國標準技術院為"53212 04-07-26 02:00:12 50 0 0 488.3 UTC(NIST)"),這2點似乎都不是太舒服,因此我們希望Internet上的標準時間服務器***能夠返回具有標準格式的數字類型數據,其實RFC在制定RFC-867標準時已經考慮了我們的意見,因為他同時還推出了RFC-868標準,下面就介紹RFC-868:

RFC868 時間協議(RFC868 Time Protocol)

本RFC規范了一個ARPA Internet community上的標準.在ARPA Internet上的所有主機應當采用和實現這個標準.此協議提供了一個獨立于站點的,機器可讀的日期和時間信息.時間服務返回的是以秒數,是從1900年1月1日午夜到現在的秒數,天哪,也不小呢.設計這個協議的一個重要目的在于,網絡上的許多主機并沒有時間的觀念,在分布式的系統上,我們可以想一想,北京的時間和東京的時間如何分呢?主機的時間往往可以人為改變,而且因為機器時鐘內的誤差而變得不一致,因此需要使用時間服務器通過選舉方式得到網絡時間,讓服務器有一個準確的時間觀念.不要小看時間,這對于一些以時間為標準的分布運行的程序簡單是太重要了.

這個協議可以工作在TCP和UDP協議下.下面是通過TCP協議工作的時間協議的工作過程:這里S代表服務器,U代表客戶.
S: 檢測端口37
U: 連接到端口37
S: 以32位二進制數發送時間
U: 接收時間
U: 關閉連接
S: 關閉連接

服務器在端口37上監聽連接.當連接建立后,服務器返回一個32位的時間值,然后關閉連接.這個過程也不難,如果服務器不能決定現在是什么時間,服務器會拒絕連接或不發送任何數據而直接關閉連接.

責任編輯:佟健 來源: hi.baidu.com
相關推薦

2010-09-10 14:25:00

Daytime協議

2011-08-03 15:51:48

Objective-C 協議 委托

2011-08-24 09:56:13

網絡協議BOOTP協議TFTP協議

2023-03-06 08:42:45

KCP移動開發

2010-07-30 15:04:02

協議配置

2010-06-12 17:07:17

TCP IP協議

2022-09-28 11:09:38

自動化產品工業協議

2010-07-12 17:13:12

SNMP協議管理

2010-09-17 14:49:18

Ethereal網絡協

2010-09-08 15:06:26

藍牙協議棧

2010-06-09 14:42:21

UDP協議TCP協議

2010-07-05 16:51:25

NetBIOS協議

2012-09-03 09:16:50

多層次個別分層數據中心網絡

2010-07-02 09:28:18

IP交換機GSMP協議IFMP協議

2010-06-12 17:28:35

協議封裝

2010-07-07 17:56:21

2014-09-03 09:52:45

開源

2010-09-17 15:12:28

2010-09-09 15:25:35

網絡協議

2010-07-01 16:33:08

UDP協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人av免费在线观看 | 精品欧美一区二区精品久久久 | 美女国产精品 | 黄色片视频 | 欧美日韩中文字幕 | 国产www成人 | 国产成人精品午夜视频免费 | 免费看一区二区三区 | h视频在线播放 | 99国产精品99久久久久久粉嫩 | 国产精品夜间视频香蕉 | 青青操91 | 久久精品国产久精国产 | 日韩视频区 | 97视频在线免费 | 亚洲一区中文字幕在线观看 | 黄色一级大片在线免费看产 | 夜夜爽夜夜操 | 高清成人免费视频 | 国产精品自拍一区 | 久久国产高清 | 国产一区91精品张津瑜 | 欧美乱大交xxxxx另类电影 | 99久久婷婷国产综合精品电影 | 视频一区二区中文字幕 | 久久伊人一区二区 | 在线亚洲一区二区 | 日韩午夜激情 | 一区二区三区国产视频 | 亚洲精品乱码久久久久久按摩观 | 成人免费观看男女羞羞视频 | 国产免费一区二区三区 | 国产精品亚洲一区二区三区在线观看 | 亚洲精品日韩综合观看成人91 | 午夜伦理影院 | www久久久 | 亚洲女人天堂网 | 国产精品美女一区二区 | 青青草视频网 | 国产视频日韩 | 九九热免费观看 |