socketserver模块初识
python提供了两个级别访问的网络服务:
- 低级的网络服务支持基本的socket,它提供了标准的BSD sockets API,可以访问底层操作系统socket接口的全部方法
- 高级别的网络服务模块socketServer,它提供了服务器中心类,可以简化网络服务器的开发。
1,利用 socketserver 模块做一个简单的并发编程
# server.py
import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): # 这个handle方法是每有一个客户端发起connect之后,就会执行handle # 在建立连接之后的所有内容都在handle中实现就可以了 # ThreadingTCPServer帮助我们完成了tcp协议的server端的并发 conn = self.request while True: msg = conn.recv(1024).decode('utf-8') print(msg) conn.send(msg.upper().encode('utf-8')) server = socketserver.ThreadingTCPServer(('127.0.0.1',9000),MyServer) server.serve_forever()
# client.py
import time import socket sk = socket.socket() sk.connect(('127.0.0.1',9000)) while True: sk.send(b'hello') msg = sk.recv(1024) print(msg) sk.close()