NTP协议
来源:互联网 发布:求生之路2 mac 编辑:程序博客网 时间:2024/05/18 03:50
NTP协议资料: http://support.ntp.org/bin/view/Support/DraftRfc2030
c++的数据包定义如下 :
typedef struct ntp_time{UINT32 coarse;UINT32 fine;} ;struct ntp_packet{unsigned char leap_ver_mode; //chr(250)unsigned char startum; //0x4char poll; //0x3char precision; //系统时钟的精度。 0x1cUINT32 root_delay; //本地到主参考时钟源的往返时间。 //4096UINT32 root_dispersion; //系统时钟相对于主参考时钟的最大误差。 //9200UINT32 reference_identifier; //参考时钟源的标识。 //随便一串整数代表服务器标识ntp_time reference_timestamp; //系统时钟最后一次被设定或更新的时间。 ntp_time originage_timestamp; //NTP请求报文离开发送端时发送端的本地时间。ntp_time receive_timestamp; //NTP请求报文到达接收端时接收端的本地时间。ntp_time transmit_timestamp; //应答报文离开应答者时应答者的本地时间。};
ntp_time结构的填充:
time_t lvT;time(&lvT);UINT32 tmp_wrd = JAN_1970 + (long)lvT;// htonl();lvRec.transmit_timestamp.coarse = tmp_wrd;tmp_wrd = NTPFRAC((long)lvT);lvRec.transmit_timestamp.fine = tmp_wrd;
通讯过程:
client 打开123端口监听 --> 先将当前时间放于数据包A.transmit_timestamp -->将数据包A发到server 的端口123---> server收到后, 构建数据包B, 将b.originage_timestamp = A.transmit_timestamp, B.transmit_timestamp=当前时间 -> 将数据包B 返回给client 的端口123 .
Client/Server 数据包例子:
阅读全文
0 0
- NTP 协议
- NTP 协议
- NTP协议
- NTP协议
- NTP协议
- NTP协议
- NTP协议
- Linux NTP协议
- NTP协议原理简介
- NTP协议实现
- NTP协议原理简介
- NTP协议实现
- 网络协议之NTP
- NTP网络时间协议
- NTP协议解析
- NTP协议与计算
- ntp协议及客户端开发
- NTP网络校时协议
- 关于死锁的一些知识点总结
- linux mysql5.7设置root密码
- jquery.cookie用法详细解析
- GBDT(MART) 迭代决策树入门教程
- 有限状态机
- NTP协议
- 广播发送
- MyBatis+MySQL 返回插入的主键ID
- C#调用C++动态库(dll)
- unity3d各平台的路径问题
- GA遗传算法入门到掌握
- WifiP2pSettings工作流程
- java8——lambda expression
- hadoop初读--setInputFormatClass