wireshark 的時(shí)間問題。在早期版本,時(shí)間精度不準(zhǔn)。
在后期版本,用了 windows 的高精度時(shí)間,然后用了 QPC。時(shí)間精度是好了,但是 QPC 自己會(huì)偏移。
即使你通過SetSystemTimeAdjustment 來修正了偏移也沒用。因?yàn)檫@個(gè)函數(shù)只影響時(shí)鐘中斷對時(shí)間累加的修正。
所以,最后發(fā)現(xiàn)就是無解。
驗(yàn)證方法:
通過 SetSystemTimeAdjustment 設(shè)置一個(gè)偏差(不是默認(rèn)的 156250),然后獲取時(shí)間并通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)發(fā)送。
通過 wireshark 抓取數(shù)據(jù)包,跟數(shù)據(jù)包時(shí)間戳進(jìn)行對比。你就會(huì)發(fā)現(xiàn) wireshark 得到的時(shí)間和主機(jī)時(shí)間不斷偏離。