Python网络编程攻略1.12 从网络时间服务器获取并打印当前时间_Python网络编程攻略1.12 从网络时间服务器获取并打印当前时间试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > Python网络编程攻略 > 1.12 从网络时间服务器获取并打印当前时间

Python网络编程攻略——1.12 从网络时间服务器获取并打印当前时间

很多程序要求设备的时间精准,例如Unix系统中的make命令。设备上的时间可能不够准确,需要和网络中的时间服务器同步。 1.12.1 准备工作 你可以编写一个Python客户端,让设备上的时间和某个网络时间服务器同步。要完成这一操作,需要使用ntplib,通过“网络时间协议”(Network Time Protocol,简称NTP)处理客户端和服务器之间的通信。如果你的设备中没有安装ntplib,可以使用pip或easy_install从PyPI中安装,命令如下: $pip install ntplib 1.12.2 实战演练 我们先要创建一个NTPClient实例,然后在这个实例上调用request()方法,把NTP服务器的地址传入方法。 代码清单1-11展示了如何从网络时间服务器上获取当前时间并打印出来,如下所示: #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter - 1 # This program is optimized for Python 2.7. It may run on any # other Python version with/without modifications. import ntplib from time import ctime def print_time(): ntp_client = ntplib.NTPClient() response = ntp_client.request('pool.ntp.org') print ctime(response.tx_time) if __name__ == '__main__': print_time() 在我的设备上,运行这个攻略后得到的输出如下: $ python 1_11_print_machine_time.py Thu Mar 5 14:02:58 2012 1.12.3 原理分析 在这个攻略中,我们编写了一个NTP客户端,向NTP服务器pool.ntp.org发起了一个NTP请求。响应使用ctime()函数打印出来。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Python网络编程攻略》其他试读目录

• 1.1 简介
• 1.2 打印设备名和IPv4地址
• 1.3 获取远程设备的IP地址
• 1.4 将IPv4地址转换成不同的格式
• 1.5 通过指定的端口和协议找到服务名
• 1.6 主机字节序和网络字节序之间相互转换
• 1.7 设定并获取默认的套接字超时时间
• 1.8 优雅地处理套接字错误
• 1.9 修改套接字发送和接收的缓冲区大小
• 1.10 把套接字改成阻塞或非阻塞模式
• 1.11 重用套接字地址
• 1.12 从网络时间服务器获取并打印当前时间 [当前]
• 1.13 编写一个SNTP客户端
• 1.14 编写一个简单的回显客户端/服务器应用
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •