一个简单的SNTP客户端
借鉴于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客户端的更多相关文章
- 用Nodejs 实现一个简单的 Redis客户端
目录 0. 写在前面 1. 背景映入 2. 数据库选择 3. Nodejs TCP连接 3. 代码编写 4. 实验 5. wireshark 抓包分析 6. 杂与代码 0. 写在前面 大家如果有去看过 ...
- 使用IdentityServer4实现一个简单的Oauth2客户端模式授权
1.首先新建一个webAPI项目做为IdentityServer的服务端,提供生成Token的服务,首先修改Startup.cs文件,如下图: 2.增加一个Config.cs文件,以便于提供资源和认证 ...
- Python3实现一个简单的tcp客户端,用于测试服务端端口开放情况
需要Python的socket模块儿,windows使用netstat -an查看端口状态,Linux使用netstat -tunlp查看端口状态. # client 客户端 # TCP必须建立连接 ...
- 由一个简单需求到Linux环境下的syslog、unix domain socket
本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参 ...
- curl太复杂难用记不住?来试试Httpie一个简单的现代化命令行Http客户端
HTTPie 是一个简单的现代化命令行 HTTP 客户端. 交互友好,JSON支持,语法高亮,类wget下载,支持拓展等 功能特性 自然而且简单的命令语句 格式化且高亮显示输出内容 内置 JSON 支 ...
- 用C++写一个简单的服务器和客户端
我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
随机推荐
- java实现定时任务的三种方法
/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: * @au ...
- JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target
http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...
- 【转】浏览器内核、渲染引擎、js引擎
[1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...
- Python-基础-时间日期处理小结
Python-基础-时间日期处理小结 涉及对象 1. datetime 2. timestamp 3. time tuple 4. string 5. date datetime基本操作 1. 获取当 ...
- html5-websocket初探
HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大意义. 什 ...
- mongoose学习文档
名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 来自cnode社区 1.创建一个 ...
- X5的UI部分和传统Web页面开发的差异
http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...
- 学习SQL的点点滴滴(二)删除临时表
select into 创建的表属于临时表,判断是否存在的方法 select c_adno,c_con_no into #temp from tb_contract IF OBJECT_ID( 'te ...
- fedora 配置
静态ip配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost network-scripts]# cat ifcfg-ens ...
- SonarQube的安装、配置与使用
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 准备工作: 1.jdk(不再介绍) 2.sonarqube:ht ...