def requestMainServer(self, content): try: self.sock = socket.create_connection(self.main_server_address) if self.user_data: ckey = self.user_data.certkey else: ckey = None command = Protocol.MainRequest(content=content, cert_key=ckey) f = self.sock.makefile("rwb", 0) # self.sock.sendall(command) with f: f.write(command.serialize()) data = self.parser.parse(f) f.close() logging.debug("received data : " + str(data)) except Exception as e: logging.debug(e) data = None else: self.sock.close() return data