我正在尝试实现我自己的NTP客户端。我可以向NTP服务器发送请求并得到响应。响应中的所有内容看起来都是正确的,除了四个错误的时间戳。我已经查找了从wireshark的NTP服务器发送的消息,在那里一切都是正确的。例如,这是wireshark从引用TimeStamp显示的数据
d8 c6 36 c3 ae 40 00
这就是我的程序作为参考时间戳得到的
d8 c6 3f 1d b0 00 00
我从NTP服务器接收数据的代码如下所示:
addr_len = sizeof(their_addr);
uint8_t buffer[64];
memset(&buffer, 0, sizeof(buffer));
recvfrom(sockfd, (char*)buffer, sizeof(buffer), 0, (sockaddr*)&their_addr, &addr_len);有人能帮我找出哪里出了问题吗?
发布于 2015-04-02 09:19:29
我搞清楚出了什么问题。我忘记将收到的时间戳从网络字节顺序转换为主机字节顺序。
https://stackoverflow.com/questions/29388020
复制相似问题