Я пытаюсь реализовать двоичный протокол между приложением флэш-памяти и пользовательским сервером Java с использованием сокетов TCP / IP, сообщения протокола имеют переменную длину, поэтому моя идея состоит в том, чтобы добавить поле с указанием количества байтов, которые у меня есть читать перед анализом полного сообщения, примерно так:
bytesToRead = socket.readInteger();
var bf:ByteArray;
socket.readBytes(bytesToRead);
parseMessage(bf);
Итак, мой вопрос: если во время обработки сообщения (его завершение завершено) другие данные поступают через сокет, это сообщения типа ProgressEvent.SOCKET_DATA ставятся в очередь, поэтому количество вызовов моего обработчика равно (по крайней мере, в этом случай) к количеству полученных сообщений или я должен прочитать, пока все данные сокета не доступны? или проще: - это вообще сообщения для обработчика, помещенного в очередь во флэш-памяти?