Flash / AS3 - есть ли ограничение на количество одновременных запросов URLLoader.load ()? - PullRequest
3 голосов
/ 16 марта 2011

All

Я работаю над проектом Flash / AS3, который выполняет многочисленные запросы URLLoader.load ().

Стоит ли ставить их в очередь, чтобы в любой момент был только один открытый запрос? Или это хорошая практика, чтобы разрешить несколько открытых запросов?

Есть ли ограничение на количество открытых запросов?

(я предполагаю, что смогу справиться с последствиями в пользовательском интерфейсе).

Я запускал тесты локально с 5 одновременными запросами, и это прекрасно работает. Но мне нужно убедиться, что приложение будет работать в полевых условиях, для пользователей со старыми ПК, старыми браузерами, браузерами с несколькими открытыми вкладками и т. Д.

Большое спасибо заранее за любой совет и понимание!

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

Я столкнулся с этой проблемой много лет назад, когда пытался загрузить тонну изображений.Все они были местными, поэтому я просто поставил их в очередь с загрузчиком.Отладка часов в очереди, почему изображения были нулевыми: S

Я не уверен, упоминается ли где-нибудь предел, но я обнаружил (если память не изменяет) около 30, которое доставляло мне проблемы.После этого, и я думаю, что он будет повторно использовать старые соединения: поэтому, если у вас есть 100 вызовов load (), будут загружены только последние 30 или около того.

Обычно я выстраиваюсь в очередь примерно по 10 за раз, затем загружаюсь востальное по мере их завершения.Нет реальной проблемы с несколькими соединениями - хотя они начнут потреблять мощность процессора и т. Д.

Если вы хотите просто проигнорировать это, проверьте что-то вроде BulkLoader: http://code.google.com/p/bulk-loader/, который был создан для этого

2 голосов
/ 16 марта 2011

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

Я бы использовал что-то вроде 5 загрузчиков и поставил бы в очередь все транзакции загрузки, выходящие за рамки этого.

0 голосов
/ 12 марта 2015

Этот вопрос был давно.Я пришел сюда из Google, но спасибо за ответы.

Все могло измениться.Я только что протестировал повторное использование URLLoader.load на Flex 4.6 и AS 3.

Здесь есть хитрое и недокументированное ограничение.Загрузчик может быть использован повторно, но только один последний запрос был получен за один раз.Но путь ниже не дает.

function timerHandle(e:TimerEvent):void {
    loader.load(firstURLRequest); // this request didn't get issued
    loader.load(secondURLRequest); // this request got sent
}

Я не знаю внутренних органов.Это может относиться к однопоточному способу ActionLoop ActionScript, где запрос будет обработан после возврата из обратного вызова, а последний перезапишет предыдущий.Это все мои предположения.

Надеюсь, это поможет последователям прийти сюда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...