跪求关于rtcp sr包中ntp时间戳的问题!

screwzm 2011-04-07 05:31:00
这个时间戳描述为如下:
N T P(Network Time Protocol) 时间指示发送该报告时的绝对时间(w a l l c l o c k),,如果当前系统没有绝对时间的概念,可以用比如"system uptime"来计算相对的ntp时间戳!
我在windows下抓去的rtcp包就是属于“没有绝对时间的概念”系统下获取的包,ntp时间戳得到的时间值为0xd13ec68c4c0830cf,wireshark提示这个时间戳对应的绝对时间是2011-03-31,09:23:24.297000 (说明:小数部分为秒数的小数部分)!
请问怎么来的啊?
谢谢了!
...全文
347 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
screwzm 2011-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liupan9999 的回复:]

不太理解你说啥么...我最近也在研究NTP
服务器发过来的是UDP包吧,包里面含有4个时间戳,
第一个是服务器最近一次校准时间的时间戳
第二个是你向服务器发送请求时的时间戳(你自己系统的时间)
第三个是服务器收到你请求的时间戳(服务器时间)
第四个是服务器向你发送时的时间戳(服务器时间)

而且,服务器向你发送的时间戳是相对于1900年1月1日0时的时间,你直接用系统的函数来转的话……
[/Quote]
正解!!!
liupan9999 2011-04-22
  • 打赏
  • 举报
回复
我算了一下你的时间戳,你用服务器给你的时间戳减去2208988800再加或减8个小时,就是真正的时间啦
liupan9999 2011-04-22
  • 打赏
  • 举报
回复
不太理解你说啥么...我最近也在研究NTP
服务器发过来的是UDP包吧,包里面含有4个时间戳,
第一个是服务器最近一次校准时间的时间戳
第二个是你向服务器发送请求时的时间戳(你自己系统的时间)
第三个是服务器收到你请求的时间戳(服务器时间)
第四个是服务器向你发送时的时间戳(服务器时间)

而且,服务器向你发送的时间戳是相对于1900年1月1日0时的时间,你直接用系统的函数来转的话年份应该是2081年(因为一般的系统时间戳起点都是2070年,刚好多了70年),所以将服务器给你的时间戳减去2208988800就是真正你需要的时间,可能还得考虑北京时间那8小时,这就是我对NTP时间戳的理解

那个绝对时间是啥意思?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧