標籤:localhost str nec eset 報錯 imp += sed display
sever side:
import socketserverclass MyTCPHandler(socketserver.BaseRequestHandler): def handle(self): ‘‘‘try內的代碼就是要實現的功能,目前是實現小寫轉大寫,可以自訂, try是在用戶端結束時不報錯 ‘‘‘ try: while True: self.data = self.request.recv(1024).strip() print("{} wrote:".format(self.client_address[0])) print(self.data) self.request.sendall(self.data.upper()) except ConnectionResetError as e: print(e)if __name__ == "__main__": HOST, PORT = "localhost", 6969 server = socketserver.ThreadingTCPServer((HOST, PORT), MyTCPHandler) server.serve_forever()View Code
client side:
import socketsock = socket.socket()#sock.connect((‘120.78.197.182‘,51102))sock.connect((‘localhost‘,6969))flag = Falsewhile not flag: data = input(">>:").strip() if data == "b":flag = True if len(data) == 0:continue sock.send(data.encode()) recv_data = sock.recv(8096) print("recv:",recv_data.decode()) # recv_data = b‘‘ # recv_len = 0 # cmd_length = int(sock.recv(8096).decode()) # cli_ack = sock.send(b‘ack‘) # print(‘cmd_len‘,cmd_length) # while recv_len != cmd_length: # data = sock.recv(1024) # recv_data += data # recv_len += len(data) # print(‘recv:‘,recv_data.decode())sock.close()View Code
python 多線程 並發socket執行個體