Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   UrlLoader не перегружает файл! (http://www.flasher.ru/forum/showthread.php?t=196784)

Hamid 29.03.2013 19:03

UrlLoader не перегружает файл!
 
Добрый вечер товарищи флешеры! У меня возник капитальный вопрос:eek: Есть UrlLoader(тоже самое и с Loader-ом), он грузит файл, если в течении какого то времени не пришел прогресс загрузки или загрузка не завершилась, то я перегружаю файл.
Код AS3:

//сбрасываем загрузку
close();
//грузим заного
load(_urlRequest);

Теперь такая история: короче гружу я один файл, беру его перехватываю через прогу Charlies(прожка в которой можно отслеживать и перехватывать запросы) и не пропускаю, по таймеру проверяю что вышел таймаут и запускаю код выше для лоадера. Если делать это из под флеш плеера интернет эксплореровского(или пепер флеша хрома), то все замечательно. Файл будет постоянно пытаться качать заново, пока в Charlies не отпущу перехват. Стоит мне запустить флешку на плеере других браузеров, флешка начинает тупить. В флешке поставил лог и в нем пишется что все работает как надо, что загрузчик постоянно сбрасывается и пытается скачать файл заного, НО в Charlies я вижу, что загрузка одна и новый поток не начался.

Может ли работа UrlLoadera зависить от флешплеера? Такое впечатление, что в некоторых флеш плеерах при попытке сбросить загрузку и начать ее заного флеш запускает тот же самый поток! Притом как я говорю в некоторых флеш плеерах все как надо в разных потоках. Если я к ссылке добавляю что то типа
Код AS3:

fileUrl + '?' + String(Math.random())

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

NoisyFlasher 29.03.2013 20:14

А почему вы не хотите ставить этот костыль? Вроде же это нормальная практика против неуместного кэширования?

Hamid 29.03.2013 20:21

Цитата:

Сообщение от NoisyFlasher (Сообщение 1127369)
А почему вы не хотите ставить этот костыль? Вроде же это нормальная практика против неуместного кэширования?

Эмм, можно конечно, я просто не пойму почему в зависимости от флеш плеера загрузка идет то в одном потоке, то в параллельных. Мне именно перезапуск лоадера нужен, причем в новом потоке. А если файл закэширован, проблем вообще нет)) Говоря в двух словах у меня система перегрузки файлов при ошибке или если загрузка превысила таймаут.

caseyryan 29.03.2013 22:25

Цитата:

Может ли работа UrlLoadera зависить от флешплеера?
Естественно. А сам флеш плеер, в свою очередь, зависит от браузера. Возможно загрузка таким образом организована на уровне браузера. Там еще и ограничения на количество одновременных загрузок есть.

olexandr 30.03.2013 05:00

заноВо!!!
---
дополнительный параметр - это не костыль, а нормальная практика

Hamid 01.04.2013 12:49

Цитата:

Сообщение от olexandr (Сообщение 1127427)
заноВо!!!
---
дополнительный параметр - это не костыль, а нормальная практика

Да, извините. С русским у меня не всегда хорошо)) Нормальная практика когда пытаешься от кэширования избавиться, а я то пытаюсь загрузку в новый поток начать всего лишь.

Caseyryan, ты прав. Я так думаю, что хром даже сам своим пепер плеером управляет, и вообще за флешем следит))) Короче говоря пришлось делать
Код AS3:

url + '?' + date.time

Заметил одну особенность, флеш плеер под IE всегда ведет себя в точности как локальный плеер. И кстати, он самый без глючный среди остальных. :D

caseyryan 01.04.2013 13:04

Цитата:

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

Hamid 01.04.2013 13:37

Цитата:

Сообщение от caseyryan (Сообщение 1127730)
Ну, это как раз не избавляет от кэширования. Просто каждый раз кэшируется заново. Соответственно и вызывается новый поток для загрузки

С потоком согласен, имел в виду что дата в юникс тайме увеличивается, и кэширования не будет если всегда с припиской грузить. И судя по всему по другому лучше не делать, ибо каждый раз флеш плеер с новыми приколами выходит, а изменение ссылки это уже 100% вариант. Было бы не плохо если бы в лоадеры добавили управление потоками, чтоб явно поток перезапускать и количество потоков одновременных регулировать из флешки. Щас локально и в IE 4 потока, в хроме и ф-фоксе 6.

caseyryan 01.04.2013 14:57

Цитата:

и кэширования не будет если всегда с припиской грузить
Да будет кэширование. В этом можно убедиться посмотрев увеличение объема кэша браузера после каждой загрузки. Кэширование отклчается совсем не так. Здесь просто один и тот же файл будет каждый раз по новой ссылке грузиться. Поэтому и не будет флеш плеер о нем знать, когда следующий раз загрузка вызовется.

Hamid 01.04.2013 15:27

Цитата:

Сообщение от caseyryan (Сообщение 1127745)
Да будет кэширование. В этом можно убедиться посмотрев увеличение объема кэша браузера после каждой загрузки. Кэширование отклчается совсем не так. Здесь просто один и тот же файл будет каждый раз по новой ссылке грузиться. Поэтому и не будет флеш плеер о нем знать, когда следующий раз загрузка вызовется.

Мы с Вами немного не в ту степь ушли:D Я не имел в виду, что файлы уже загруженные не кэшируются(да они лежат себе в кэше и кайфуют), а имел в виду, что приписка это уход от кеширования, ибо юникс тайм который в моем случае приписывается всегда увеличивается и ссылка всегда новая.


Часовой пояс GMT +4, время: 10:18.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.