socketServer
客户端
import socket client = socket.socket() client.connect(('localhost', 9999)) while True: msg = input('>>>>:').strip() if len(msg) == 0: continue client.send(msg.encode('utf-8')) data = client.recv(1024) print("recv:", data.decode()) client.close()
服务端
import socketserver class MyTcpHandler(socketserver.BaseRequestHandler): def handle(self): while True: try: self.data = self.request.recv(1024).strip() print("{} wrote:".format(self.client_address[0])) print(self.data) self.request.send(self.data.upper()) except ConnectionResetError as e: print('err', e) break if __name__ == "__main__": HOST, PORT = 'localhost', 9999 server = socketserver.TCPServer((HOST, PORT), MyTcpHandler) server.serve_forever()
socketServer 多并发
客户端
import socket client = socket.socket() client.connect(('localhost', 9999)) while True: msg = input('>>>>:').strip() if len(msg) == 0: continue client.send(msg.encode('utf-8')) data = client.recv(1024) print("recv:", data.decode()) client.close()
服务端
import socketserver class MyTcpHandler(socketserver.BaseRequestHandler): def handle(self): while True: try: self.data = self.request.recv(1024).strip() print("{} wrote:".format(self.client_address[0])) print(self.data) self.request.send(self.data.upper()) except ConnectionResetError as e: print('err', e) break if __name__ == "__main__": HOST, PORT = 'localhost', 9999 server = socketserver.ThreadingTCPServer((HOST, PORT), MyTcpHandler) server.serve_forever()
可以同时处理多个客户端