程序如下:
1 import socketserver 2 class MyServer(socketserver.BaseRequestHandler): #自己定义一个类,继承BaseRequestHandler类 3 def handle(self): #聊天的逻辑都在handle方法里 4 print('服务端已启动....') 5 while True: 6 conn = self.request #通过它拿到客户端的socket对象 7 while True: 8 client_data = conn.recv(1024) 9 print(str(client_data,'utf8')) 10 conn.sendall(client_data) 11 conn.close() 12 if __name__ == '__main__': 13 server = socketserver.ThreadingTCPServer(('127.0.0.1',8008),MyServer) #创建ThreadingTCPServer类的对象 14 server.serve_forever()
1.创建server对象的过程封装了:服务端socket对象的创建、绑定IP和端口、设置listen等工作
2.serve_forever()方法封装了:(1)启动了包含聊天逻辑的handle方法
(2)启动了创建多线程和多进程的程序,实现并发