python里使用socket实现时间服务器
来源:互联网 发布:百元电脑音箱推荐 知乎 编辑:程序博客网 时间:2024/06/05 16:01
创建一个TCP的服务器,是很简单的,特别这是一个时间服务器。学习过网络编程的人都知道,创建服务器就是先调用bind函数绑定,
接着调用listen函数来监听,就可以完成服务器的创建。
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
接着调用listen函数来监听,就可以完成服务器的创建。
下面来创建一个时间服务器,绑定端口为8037:
# File: socket-example-2.pyimport socketimport struct, time# user-accessible portPORT = 8037# reference timeTIME1970 = 2208988800# establish serverservice = socket.socket(socket.AF_INET, socket.SOCK_STREAM)service.bind(("", PORT))service.listen(1)print("listening on port", PORT)while True: # serve forever channel, info = service.accept() print("connection from", info) t = int(time.time()) + TIME1970 t = struct.pack("!I", t) channel.send(t) # send timestamp channel.close() # disconnect结果输出如下:
listening on port 8037
connection from ('127.0.0.1', 52125)
在这个程序里,listen监听一个连接,后面使用无限循环调用accept函数来接收连接进来,然后创建channel的连接,info保存连接信息。后面把当前系统发送回去。
用来测试这个服务器,可以使用下面的程序:
# File: socket-example-1.pyimport socketimport struct, time# serverHOST = '127.0.0.1'#"time.nist.gov"PORT = 8037# reference time (in seconds since 1900-01-01 00:00:00)TIME1970 = 2208988800 # 1970-01-01 00:00:00# connect to servers = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((HOST, PORT))# read 4 bytes, and convert to time valuet = s.recv(4)t = struct.unpack("!I", t)[0]t = int(t - TIME1970)s.close()# print resultsprint("server time is", time.ctime(t))print("local clock is", int(time.time()) - t, "seconds off")
Python游戏开发入门
http://edu.csdn.net/course/detail/5690
你也能动手修改C编译器
http://edu.csdn.net/course/detail/5582
纸牌游戏开发
http://edu.csdn.net/course/detail/5538
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
RPG游戏从入门到精通
http://edu.csdn.net/course/detail/5246
WiX安装工具的使用
http://edu.csdn.net/course/detail/5207
俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
boost库入门基础
http://edu.csdn.net/course/detail/5029
Arduino入门基础
http://edu.csdn.net/course/detail/4931
Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
在Windows下SVN的版本管理与实战
http://edu.csdn.net/course/detail/2579
Visual Studio 2015开发C++程序的基本使用
http://edu.csdn.net/course/detail/2570
在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672
阅读全文
0 0
- python里使用socket实现时间服务器
- python里使用socket实现时间同步
- python里使用socket创建UDP时间服务器
- socket实现获取服务器时间
- python应用系列教程——python使用SocketServer实现网络服务器,socket实现客户端
- python socket 实现服务器/客户端通信
- python socket 实现的简单http服务器
- 简单实现python socket 服务器客户端
- 【Socket编程】Python实现简易Web服务器
- python socket 实现的简单http服务器
- python里使用协程来创建echo服务器
- python 使用socket搭建简单服务器
- 使用socket简单实现接受服务器信息
- 传输层:SOCKET编程之“简单时间服务器实现”
- 使用twisted实现Python服务器
- 【Unix/Linux编程实践】编写时间服务器(使用Socket)
- python使用socket实现多线程端口扫描
- python里使用asyncore创建时间服务客户端
- hadoop 集群 多 nameservices 多节点 集群搭建 过程---第二版
- 快速排序的稳定化版本
- 慎用网络诊断!!
- java socket
- AttributeError: 'AnonymousUserMixin' object has no attribute 'confirmed'
- python里使用socket实现时间服务器
- Python自学笔记
- POJ3070Fibonacci(矩阵快速幂)(AC)
- 框架(侧滑、Tab、ViewParge、Ferment)
- JSON与XML的区别比较
- 解析数据
- 开学第一周
- 关于Java虚拟机性能调优的清单
- 贪心算法