兩台電腦數據傳輸的時間同步

最近開始學兩台電腦的資料互傳

總算了解datasocket的使用方式

後來我想試試看他的資料傳輸時間誤差能到什麼程度

 

所以我就以NTP來當作兩台電腦時間同步的參考基準

做了一個會傳輸系統時間的小程式

 

大概是像這樣子的

 

兩台電腦都開啟NTP的同步時鐘

然後由A電腦發出時間值到B電腦

 

為了進行比對,所以我在B這邊做了兩個讀取的小視窗

一個是B電腦經由NTP同步過的 "B電腦系統時間"

然後一個是A電腦經由網路傳過來的 "A電腦系統時間"

 

我發現B接收到的A電腦時間,會比B電腦本身的系統時間還要慢上約一秒

老師說這可能是LABVIEW本身的運算誤差的關係

 

不過我又想到也許有可能是按按鈕時機的關係

例如我在按傳送的時候,就算我盯著時間算準的按下去還是會有誤差

所以導致時間在進位時會出現誤差

不知道是不是有可能呢?

 

如果不行的話

我後來想如果是以 ”5的倍數為時間單位來丟DATA的話可能就不會有這個問題了

比方說如果我在4秒的時候按下傳送,由於延遲的關係

可能沒辦法在第5秒傳資料出去

所以他會等到系統跑到第10秒的時候再丟出資料


若是在第6秒按下傳送時,因為離5的倍數的第10秒還有足夠時間,所以在第10秒的時候能夠順利把資料丟出去

不過我卻不知道該怎麼寫比較好


整篇文章落落長,謝謝各位耐心看完

希望各位可以為在下指點一下上面的相關疑問

可以的話也請教我最後面那個問題該怎麼做比較好

萬分感激

inffy072340338.6525