1、概述
源码放在文章末尾
该项目实现了 Ntp校时类 ,包含如下功能:
-
- 可设置Ntp服务器IP地址。
-
- 推荐用默认的阿里云时间服务器 ntp1.aliyun.com
-
- 收到时间信号发出。
-
- 时间精确到秒。
下面是demo演示:
项目部分代码如下:
#ifndef NTPCLIENT_H
#define NTPCLIENT_H/*** Ntp校时类 * 1. 可设置Ntp服务器IP地址。* 2. 推荐用默认的阿里云时间服务器 ntp1.aliyun.com* 3. 收到时间信号发出。* 4. 时间精确到秒。*/#include <QObject>
#include <QDateTime>
class QUdpSocket;#ifdef quc
class Q_DECL_EXPORT NtpClient : public QObject
#else
class NtpClient : public QObject
#endif{Q_OBJECT
public:static NtpClient *Instance();explicit NtpClient(QObject *parent = 0);private:static QScopedPointer<NtpClient> self;QString ntpIP;QUdpSocket *udpSocket;private slots:void readData();void sendData();void setTime_t(uint secsSince1Jan1970UTC);public Q_SLOTS://设置Ntp服务器IPvoid setNtpIP(const QString &ntpIP);//获取日期时间void getDateTime();Q_SIGNALS://收到时间返回void receiveTime(const QDateTime &dateTime);
};#endif // NTPCLIENT_H