借鉴于python网络编程攻略

#/usr/local/bin/python3.5
#coding:utf-8 import socket, struct, time NTP_server = "0.uk.pool.ntp.org"
TIME1970 = 2208988800 def sntp_client():
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
data = "\x1b" + 47 * "\0"
client.sendto(data.encode('utf-8'), (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)) sntp_client()

效果图如下

aaarticlea/png;base64,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" alt="" />

END!

一个简单的SNTP客户端的更多相关文章

  1. 用Nodejs 实现一个简单的 Redis客户端

    目录 0. 写在前面 1. 背景映入 2. 数据库选择 3. Nodejs TCP连接 3. 代码编写 4. 实验 5. wireshark 抓包分析 6. 杂与代码 0. 写在前面 大家如果有去看过 ...

  2. 使用IdentityServer4实现一个简单的Oauth2客户端模式授权

    1.首先新建一个webAPI项目做为IdentityServer的服务端,提供生成Token的服务,首先修改Startup.cs文件,如下图: 2.增加一个Config.cs文件,以便于提供资源和认证 ...

  3. Python3实现一个简单的tcp客户端,用于测试服务端端口开放情况

    需要Python的socket模块儿,windows使用netstat -an查看端口状态,Linux使用netstat -tunlp查看端口状态. # client 客户端 # TCP必须建立连接 ...

  4. 由一个简单需求到Linux环境下的syslog、unix domain socket

    本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参 ...

  5. curl太复杂难用记不住?来试试Httpie一个简单的现代化命令行Http客户端

    HTTPie 是一个简单的现代化命令行 HTTP 客户端. 交互友好,JSON支持,语法高亮,类wget下载,支持拓展等 功能特性 自然而且简单的命令语句 格式化且高亮显示输出内容 内置 JSON 支 ...

  6. 用C++写一个简单的服务器和客户端

    我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...

  7. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  8. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  9. 使用MongoDB和JSP实现一个简单的购物车系统

    目录 1 问题描述  2 解决方案  2.1  实现功能  2.2  最终运行效果图  2.3  系统功能框架示意图  2.4  有关MongoDB简介及系统环境配置  2.5  核心功能代码讲解  ...

随机推荐

  1. 转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念

     http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 ...

  2. MySQL性能优化总结(转)https://yq.aliyun.com/articles/24249

    摘要: 一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图:   三.MySQL存储引擎概述 1)MyISAM存储引擎 MyIS ...

  3. Verilog HDL那些事_建模篇笔记(实验一,实验二)

    实验一:永远的流水灯 扫描频率配置为100Hz,即是说扫描周期为10ms.这里需要注意的是扫描周期的概念.流水灯嘛,顾名思义,扫描周期指的是流水灯扫一轮所需要的时间.听到说周期,就应该想到在建模的时候 ...

  4. 创建MySQL 用户

    create user 'lixianming'@'localhost' identified by 'lxm123456'; grant all on art.* to 'lixianming'@' ...

  5. Oracle存储过程 输出参数赋值异常:“Oracle.DataAccess.Types.OracleString”的类型初始值设定项引发异常。

    场景: 写了一个有返回参数的存储过程,在个另开发人员机器上都正常.其它机器报如题错误.让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题. 分析: 虽然网上的帖子没有根本解决问 ...

  6. [zz] Pixar’s OpenSubdiv V2: A detailed look

    http://www.fxguide.com/featured/pixars-opensubdiv-v2-a-detailed-look/ Pixar’s OpenSubdiv V2: A detai ...

  7. Hololens开发笔记之Gesture手势识别(单击,双击)

    本文使用手势识别实现识别单击及双击手势的功能,当单击Cube时改变颜色为蓝色,当双击Cube时改变颜色为绿色. 手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层 ...

  8. FW开发代码规范---小任性(2)

    三.空行 (1)在每个函数.结构体.枚举定义结束之后都要加空行. 在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔. struct st1 { - }; // 空行 enum { ...

  9. 让finder显示路径

    在控制台输入 defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES 重启finder即可.

  10. FPGA奇数分频

    在FPGA设计中,分频是很常用的一个基本功能,一般来说,如果需要偶数分频即2次幂的整数倍,这个就很简单了,如2.4.8.16.32.64等这些以2的整数倍的. 这里说的是奇数倍分频,如时钟是100MH ...