亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java NTP客戶端

Java NTP客戶端

LEATH 2019-12-03 16:32:39
我需要軟件與NTP服務器通信以確定本地時鐘偏移。我曾嘗試使用org.apache.commons.net.ntp程序包,但由于在Windows上運行時它的實現效果很差,因為使用System.currentTimeMillis()來確定NTP數據包交換之前和之后的時間。您可能知道,也可能不知道,該值僅在系統時鐘滴答時更新,在大多數現代Win2k3服務器上,頻率為64Hz或每15.625ms。這極大地限制了時鐘偏移計算的準確性。Ntpd使用CPU高頻計時器在系統時鐘滴答之間進行插值,并獲得更高的分辨率時間。您知道使用這種技術或類似技術的Java實現嗎?還是您知道除Apache以外的其他任何NTP實現?
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

由于此問題在Google上對于“ Java NTP客戶端”的排名很高:


Android具有一個簡單的NTP客戶端的漂亮,緊湊的Apache許可實現:android.net.SntpClient。


它需要進行修改才能在非Android Java上運行,但這應該是微不足道的,因為該代碼約為100行代碼加上另外100行詳細注釋,除了Android系統時鐘外沒有任何外部依賴關系-偶然,nanoTime()因為它已經使用了此類相對計時器,所以可以接受相對計時器。


查看完整回答
反對 回復 2019-12-03
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

如果您使用的是Java 5或更高版本,可以使用System.nanoTime()來更精確地測量時間偏移嗎?您必須修改現有的NTP代碼,但是您應該擁有它的源代碼,而且我并不認為這很困難。


查看完整回答
反對 回復 2019-12-03
  • 3 回答
  • 0 關注
  • 640 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號