from socket import * import subprocess,struct,json server=socket(AF_INET,SOCK_STREAM) server.bind(('127.2.2.2',6688)) server.listen(5) while True: conn,client_addr=server.accept() print(client_addr) while True: try: cmd=conn.recv(1024) if not cmd:break obj=subprocess.Popen(cmd.decode('utf-8'),shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) stdout=obj.stdout.read() stderr=obj.stderr.read() headers={'filepath':'a.txt', 'md5':'123fvs54', 'total_size':len(stdout)+len(stderr)} headers_json=json.dumps(headers) headers_bytes=headers_json.encode('utf-8') conn.send(struct.pack('i',len(headers_bytes))) conn.send(headers_bytes) conn.send(stdout) conn.send(stderr) except ConnectionResetError:break conn.close() server.close()