(Как) Можете ли вы реализовать улитку HTTP (кометные / долгоживущие соединения) во Flash?

Я очень заинтересован в потоковой передаче данных для веб-приложений. Я попробовал некоторые библиотеки javascript, но взломы и несовместимость браузеров сводят меня с ума! Надеюсь, HTML5 стандартизирует потоковые данные, но до тех пор, я надеюсь, я смогу прибегнуть к Flash, чтобы это работало во всех браузерах. К сожалению, я не очень знаком со всеми функциями, которые предлагает Flash.

Я пробовал loadVariables.onData во Flash 8, но он не поддерживает потоковую передачу данных. Данные доступны только после завершения запроса. Есть ли способ вызывать функцию каждый раз, когда возвращаются новые данные?

14.12.2008 12:24:08
3 ОТВЕТА
РЕШЕНИЕ

Хотя я не знаком с тем, что вы делаете, похоже, вы должны смотреть на URLStream . Когда вы загружаете вещи, которые Flash интуитивно понимает (MP3, JPG, SWF и т. Д.), Вы обычно используете Loader , а затем вы можете получать события прогресса , но я предполагаю, что вы говорите о загрузке произвольных данных. в ByteArray, и URLStream должен предоставить вам все низкоуровневый доступ, который вам нужен.

Это при условии, что вы используете AS3 и Flash Player 9+. Я бы не стал клясться в этом, но я уверен, что то, что вы ищете, невозможно в AS2.

3
15.12.2008 02:34:08
Спасибо, URLStream, кажется, именно то, что я искал.
I.devries 15.12.2008 19:06:51

Если вы просто хотите транслировать один файл, используйте URLStream, как подсказывает феномен. Если вы хотите открытое соединение, которое может как отправлять, так и получать данные, то класс, который вы ищете, это XMLSocket . Должно работать на что-нибудь прошлое Flash 5.

2
15.12.2008 04:35:09

Как предположили Мосс Коллум и Феном, есть URLStreamи XMLSocket. Но если вы хотите взаимодействовать с сервером на двоичном уровне, вы можете читать и записывать байты с Socketобъектом.

Помните, что любое сетевое взаимодействие подчиняется очень жесткой модели безопасности Flash Player. Вы можете обнаружить, что изучение этого будет очень хорошо проведенным временем.

0
17.12.2008 04:48:11