当前位置:首页 > 天道酬勤 > 正文内容

ntp服务器时间同步(同步ntp时间)

张世龙2021年12月20日 08:59天道酬勤780

## 一、前言

许多软件都有时间同步功能。 特别是Qt安装在嵌入式设备上,有时很多程序没有UI接口,硬件上有时钟。 时间一长,电就不可避免地断了。 必须从服务器同步时间,以确保本地时间正确。 否则,本地记录的某些日志时间不正确。 很多可能是1970年的。

NTP同步时间是标准协议,使用的端口是123端口,该端口很强大。 竟然占领了123个端口。 碉堡! 要使用NTP服务同步时间,必须设置时间服务器的IP地址。 在网上可以找到很多这个地址。 微软拥有的那个有时不行。 因为默认使用的UDP协议,所以不可靠。 有丢包的可能性。 建议选择国内的时间服务器,如大学的时间服务器。 还是准确可靠的。

## 二、代码思路

NTP客户端:3360 NTP客户端(q对象*父对象) : q对象) )。

{

ntpIP='202.120.2.101 ';

UDP套接字=新套接字(this;

连接(UDP套接字,信号)、连接、插槽)发送数据();

连接(UDP套接字、信号(就绪读取)、连接、插槽读取数据) );

}

void NTP客户端:3360发送数据(

{

qint8 LI=0;

qint8 VN=3;

qint 8模式=3;

qint 8风暴=0;

qint 8轮询=4;

qint 8预制=-6;

qdatetimeepoch (q日期(1900,1,1 );

qint 32 second=quint 32 (到epoch.secs to (qdatetime 33603360当前日期() );

qint 32温度=0;

qbytearraytimerequest (48,0;

time请求[0]=(Li6)|) VN3)|)|(模式;

时间请求[1]=风暴;

时间请求[2]=保罗;

time请求[3]=前缀0 x FF;

时间请求[5]=1;

时间请求[9]=1;

time请求[ 40 ]=(temp=(第二个0 xff 000000 ) 24;

时间=0;

time请求[ 41 ]=(temp=(第二个0.00个FF 0000 ) 16 );

时间=0;

time请求[ 42 ]=(temp=(第二个0.x 0000个FF 00 )8);

时间=0;

time请求[ 43 ]=((第二个0.x 000000个FF );

UDP套接字写入(时间请求;

}

void NTP客户端:3360读取数据(

{

q字节新时间;

qdatetimeepoch (q日期(1900,1,1 );

qdatetimeunixstart (q日期(1970,1,1 );

while (UDP套接字-硬件数据图() )

new time.resize (UDP套接字- pendingdatagramsize ();

UDP套接字读取(新时间.数据)、新时间.大小);

(;

q字节传送时间戳;

transmit timestamp=新时间. right (8;

quint 32 seconds=传输时间戳. at (0;

quint 8临时=0;

for (英寸=1; i=3; I ) {2}

seconds=(seconds8;

temp=传输时间戳. at (I;

第二=第三时间;

}

日期时间;

datetime.settime _ t (第二次传播到)联合起点);

#ifdef __arm__

#ifdef arma9

日期=日期.添加序列(60 * 60 *8);

# # endif

# # endif

UDP套接字-直连主机(;

//返回的数据错误、分析错误,填充的时间可能不正确

if (日期. is有效() ) )

日期时间(日期时间;

}

}

void NTP客户端:3360 setntpip (一致性组) )。

{

国际电信联盟!=ntpIP ) {

this-ntpIP=ntpIP;

}

}

void NTP客户端:3360获取日期时间(

{

UDP套接字- abort (;

UDP套接字连接主机(NTP IP,123;

(}

## 三、效果图

## 四、开源主页

**以上作品的完整源代码下载位于开源主页,持续更新作品数量和质量。 恭候您的关注。 * * *

1 .国内网站: [ https://Gitee.com/Feiyang Qingyun/Qwidgetdemo ] [ 3359 Gitee.com/Feiyang Qingyun/Qwidgetdemo ]

2 .国际网站: [ https://Github.com/Feiyang Qingyun/Qwidgetdemo ] [ 3359 Github.com/Feiyang Qingyun/Qwidgetdemo ]

3 .个人主页: [ https://博客. csdn.net/Feiyang Qingyun ] [ https://博客. csdn.net/Feiyang Qingyun ]

4 .你知道主页吗? [ https://www.zhi Hu.com /朋友/费杨青云/] [ https://www.zhi Hu.com /朋友/费杨青云/]

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25527.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。