编写一个SNTP客户端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写一个SNTP客户端相关的知识,希望对你有一定的参考价值。

1、pip install ntplib

2、思路:先创建一个NTPClient实例,然后在这个实例上调用request()方法,把NTP服务器的地址传入方法,向NTP服务器发起一个NTP请求,响应使用ctime()函数打印出来。

3、代码如下:

# -*- coding: utf-8 -*-
import socket
import struct
import time

# 中国境内最好用的NTP服务器-北京邮电大学Internet授时服务器
NTP_SERVER = s2m.time.edu.cn
TIME1970 = 2208988800L


def sntp_client():
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    data = \x1b + 47*\0
    client.sendto(data, (NTP_SERVER, 123))
    data, address = client.recvfrom(1024)
    if data:
        print Response received from:, address
    t = struct.unpack(!12I, data)[10]
    t -= TIME1970
    print \tTime=%s % time.ctime(t)

if __name__ == __main__:
    sntp_client()

 

以上是关于编写一个SNTP客户端的主要内容,如果未能解决你的问题,请参考以下文章

ESP32学习笔记(41)——SNTP接口使用

QueryPerformanceCounter 或 GetSystemTimePreciseAsFileTime 使用 SNTP 时?

使用 Python 代码片段编写 LaTeX 文档

ESP32入门基础之SNTP时间显示

ESP32入门基础之SNTP时间显示

lwip组件的SNTP app如何设置接收时间?