首页 > 代码库 > 第八 socketserver
第八 socketserver
一、说明socketserver
SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端。即:每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进 程” 专门负责处理当前客户端的所有请求。
二、socketserver 实例
服务器端:
#!/usr/bin/env python #-*- coding:utf-8 -*- import socketserver class MyTcpHandler(socketserver.BaseRequestHandler): def handle(self): while True: print("New conn:",self.client_address) data = self.request.recv(1024) if not data: break print("client says:",data.decode()) self.request.send(data) if __name__ == "__main__": HOST,PORT = "127.0.0.1",57000 server = socketserver.ThreadingTCPServer((HOST,PORT),MyTcpHandler) server.serve_forever()
客户端:
#!/usr/bin/env python #-*- coding:utf-8 -*- import socket IpPort = (‘127.0.0.1‘,57000) Fsk = socket.socket() Fsk.connect(IpPort) while True: Msg = input("client>>").strip() Fsk.sendall(bytes(Msg,"utf8")) ServerReplay = Fsk.recv(1024) print("Server",str(ServerReplay,‘utf8‘)) Fsk.close()
运行服务器端
C:\Users\AppData\Local\Programs\Python\Python36-32\python.exe D:/py_pro/s12/day08/LearnSocketserver.py New conn: (‘127.0.0.1‘, 65418) client says: hi New conn: (‘127.0.0.1‘, 65418) client says: hhh New conn: (‘127.0.0.1‘, 65418) New conn: (‘127.0.0.1‘, 65433) client says: lakaka New conn: (‘127.0.0.1‘, 65433) client says: m New conn: (‘127.0.0.1‘, 65418)
运行客户端:
C:\Users\AppData\Local\Programs\Python\Python36-32\python.exe D:/py_pro/s12/day08/SocketServerClient.py client>>hi Server hi client>>hhhm Server hhh client>>m Server m client>>
第八 socketserver
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。