В настоящее время я перевод проекта Java на Flex 3. Большая часть проекта включает асинхронную связь.Новое для FLEX - перевод асинхронных сообщений с Java
Программа подключится к потоку, начнет загрузку данных. Вскоре после подключения потребуется загрузить контекстные данные в том же формате (ключевой кадр) по HTTP. В разных точках во время потока или ключевого кадра могут потребоваться дополнительные HTTP-вызовы, например. для получения ключа шифрования.
В Java я бы использовал блокирующий вызов для выполнения HTTP-запросов, чтобы получить ключ, который эффективно приостанавливает ключевой кадр или поток при завершении HTTP, который затем будет продолжаться там, где он был.
К сожалению, Flex, являющийся однопоточным, и HTTP-запросы, реализуемые с асинхронными обратными вызовами, невозможно реализовать код таким же образом.
Будучи новым для Flex, я не уверен, что будет обычной практикой для этого. В настоящее время я планирую сохранить состояние и выйти, опираясь на завершение HTTP, чтобы перезапустить приостановленный поток. Или, может быть, использовать таймеры ...
Но для потока я должен отделить полученные данные от обработки и буферизировать его во время обработки HTTP-запросов? Или можно ли игнорировать события прогресса и позволить Flex и/или ОС буферировать это?
Есть ли у кого-нибудь советы по архитектуре, которые облегчили бы это?
Спасибо!
EDIT: Спасибо за ответы до сих пор ...
dirkgently - Я не уверен, я понимаю, что вы имеете в виду, но я буду смотреть в него.
brd6644 - одно из соединений (поток) уже является сырым сокетом. Вопрос состоял в том, чтобы приостановить его и захватить некоторые другие данные из другого источника среднего потока.
CookieOfFortune - это выглядит полезно, спасибо.