Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Поддержка GZip в AIR (http://www.flasher.ru/forum/showthread.php?t=151084)

DaFive 22.02.2011 12:54

Поддержка GZip в AIR
 
Товарисчи. Столкнулся с такой интересной особенностью.

При обращении к серверу через обычный URLLoader и URLRequest приходят противоречивые данные о bytesTotal при работе из Flash IDE и при скомпилленном в *air-файл проекте.

Сервер настроен следующим образом. Если приходит хэдэр того, что GZip не поддерживается - сервер отдает данные в обычном строковом формате. Иначе - отсылает Gzip-данные.

Так вот, при работе из IDE - проект принимает данные в обычном формате. Отношение bytesloaded/bytestotal *100 - выводит верные проценты.

При публикации и запуске непосредственно EXE или AIR-файла - bytesLoaded в несколько раз превышает bytesTotal, из-за чего имеем 400% принятых данных. Следовательно сервер отдает неверный content-length. Отдача сервером данных решаема.

Фишка в том, что данные действительно приходят и скорость их получение существенно возрастает.

Вопрос в следующем: действительно ли AIR понимает GZip только в опубликованном проекте или его каким-то образом можно настроить и в дебаговой сессии во Flash IDE? Или тут еще какая магия?

mayakwd 25.02.2011 10:03

Always send the header 'Accept-Encoding':'gzip' if running a Desktop (Aka AIR) app.

DaFive 25.02.2011 12:12

Благодарствую.

DaFive 11.03.2011 11:31

Да, кстати, дополнение. Это один хрен не работает из Flash IDE. Хэдэр то оно шлёт, а принимает кракозябры.
Чтобы конкретно отображались проценты - эйру нужно слать от сервера свой хэдэр о длине респонза. Простой Content-Length Air воспринимает так как ему нужно, а не так, как требуется.

Перебор HTTPStatusEvent().responseHeaders спасает ситуацию при наличии правильного заголовка о длине входящих данных.


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

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