import json import struct MAX_MESSAGE = 1024 * 1024 def read_exact(stream, length): data = bytearray() while len(data) < length: chunk = stream.read(length - len(data)) if not chunk: if not data: return None raise EOFError("Оборвано сообщение native messaging.") data.extend(chunk) return bytes(data) def read_message(stream): header = read_exact(stream, 4) if header is None: return None size = struct.unpack(" MAX_MESSAGE: raise ValueError("Ответ слишком большой.") stream.write(struct.pack("