借鉴于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. finally语句总是不会被执行?

    答案是否(1)try语句没有被执行到,如在try语句之前return就返回了,这样finally语句就不会执行.这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被执行到.( ...

  2. Python decode与encode

      字符串在Python内部的表示是unicode编码(8-bit string),因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicod ...

  3. AHS日志收集的三种方法

    硬件环境:(描述实验机器初始环境) 型号 DL380 G8 序列号   配置扩展   备注   软件环境: □  操作系统:无 连接方式: □  无 实验步骤: 1在ILO里点information点 ...

  4. HackerRank "Kruskal (MST): Really Special Subtree"

    Kruskal Algorithm is based on Union-Find - quite intuitive. #include <vector> #include <ios ...

  5. Spring学习 Ioc篇(三)

    1.在注解注入方式中,首先要在xml中引入如下的红线的命名空间: <?xml version="1.0" encoding="UTF-8" ?> & ...

  6. LVS的四种模式的实现

    LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡. LVS 的转发主要通过修改 IP 地址(N ...

  7. activiti自定义流程之整合(六):获取我的申请任务

    流程启动后,流程节点便进入到了任务相关的部分.可以看到我之前的做法是在启动节点就绑定了form表单,启动时就填写相关的数据.实际上在之前我的做法是不对开始节点做任何操作,知道任务节点的时候再填写相关的 ...

  8. 【uTenux实验】内存池管理(固定内存池和可变内存池)

    1.固定内存池管理实验 内存管理是操作系统的一个基础功能.uTenux的内存池管理函数提供了基于软件的内存池管理和内存块分配管理.uTenux的内存池有固定大小的内存池和大小可变的内存池之分,它们被看 ...

  9. ASP.NET中进行消息处理(MSMQ) 一(转)

    MSMQ是微软消息队列的英文缩写.那么什么是消息队列?这些介绍网上一大片这里就不多说了.本文对于大虾级的人物来说这只是小玩意而已,对于初学者来说这文章还是有一定的帮助,希望路过的大虾们别笑话我班门弄斧 ...

  10. delphi 常用的将窗口置前的函数

    function BringWindowToTopEx(hWnd: HWND): Boolean;begin if IsIconic(hWnd) then ShowWindow(hWnd, SW_RE ...