Кэширование файлов unity3d браузерами

Кэширование файлов unity3d браузерами

Сообщение PAX 03 май 2010, 21:17

Что-то я сегодня устал, жена по магазинам затаскала. Но и на сегодня будет один трюк, который избавит от проблемы кэширования файлов unity3d браузерами.

В общем проблема известная, не знаю была ли она решена на форуме, читать времени нет. Хочу поделиться решением, которое мне подсказал сводный брат, он прогает давно на php.

Идея заключается в том, чтобы сделать адрес файла unity3d уникальным. В исходном варианте имеем нечто вроде:
Код: Выделить всё
    <object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"
         width="760" height="590" codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0">
      <param name="src" value="game.unity3d?" />
      <embed id="UnityEmbed" src="game.unity3d" width="760" height="590" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" />
    </object>


Уникальность ссылки на файл unity3d можно обеспечить добавив названию файла произвольный параметр так, как это делается при передаче параметров в URL методом GET. Т.е. добавить знак вопроса и параметр, равный например рандомному числу или в моем случае юниксовскому времени в секундах.
Т.е. вместо game.unity3d будет примерно так: game.unity3d?id=<?php echo time(); ?> где id - параметр, а php-вставка <?php echo time(); ?> выдает число секунд с начала 1970г. по моему ))

В результате:
Код: Выделить всё
    <object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"
         width="760" height="590" codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0">
      <param name="src" value="game.unity3d?id=<?php echo time(); ?>" />
      <embed id="UnityEmbed" src="game.unity3d?id=<?php echo time(); ?>" width="760" height="590" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" />
    </object>


Проверка длилась пару дней, глюков кэша не обнаружено )) Всем удачи! А я пошел спать.
Blitz3d to Unity Wiki
icq: 208084972
skype: pax62rus
Аватара пользователя
PAX
UNIт
 
Сообщения: 134
Зарегистрирован: 03 ноя 2009, 12:53
Откуда: Россия, Рязань
  • Сайт
  • ICQ

Re: Кэширование файлов unity3d браузерами

Сообщение gnoblin 03 май 2010, 22:10

Вообще смахивает на интересную фишку.

С кешированием проблема немного в другом - если мы поиграли в кучу других игр на флеше\юнити, то кеш браузера забивается и моя игра будет оттуда по-любому вытолкнута. Именно _этот_ момент же не решить тем как предлагаешь ты?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Кэширование файлов unity3d браузерами

Сообщение PAX 04 май 2010, 09:00

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

PS: конечно я погорячился в выдаче всегда рандомных значений, трафик сервера тоже надо беречь. Вариант изменять это значение вручную при обновлении игры.
Blitz3d to Unity Wiki
icq: 208084972
skype: pax62rus
Аватара пользователя
PAX
UNIт
 
Сообщения: 134
Зарегистрирован: 03 ноя 2009, 12:53
Откуда: Россия, Рязань
  • Сайт
  • ICQ

Re: Кэширование файлов unity3d браузерами

Сообщение Ilya Smirnov 04 май 2010, 09:39

Может быть не обновление происходит вследствие неправильной настройки апатча? Этот файл ответственный
http://httpd.apache.org/docs/1.3/howto/htaccess.html
Аватара пользователя
Ilya Smirnov
UNец
 
Сообщения: 8
Зарегистрирован: 24 мар 2010, 09:11
Откуда: Arrived from Flash camp

Re: Кэширование файлов unity3d браузерами

Сообщение PAX 04 май 2010, 10:17

Лучше не предположения, а конкретный пример настройки апача ;)

К тому же на сколько я знаю этот файл управляет настройкой папок и доступом к ним, а не файлами.
Blitz3d to Unity Wiki
icq: 208084972
skype: pax62rus
Аватара пользователя
PAX
UNIт
 
Сообщения: 134
Зарегистрирован: 03 ноя 2009, 12:53
Откуда: Россия, Рязань
  • Сайт
  • ICQ

Re: Кэширование файлов unity3d браузерами

Сообщение Golandez 04 май 2010, 11:05

Ilya Smirnov писал(а):Может быть не обновление происходит вследствие неправильной настройки апатча? Этот файл ответственный
http://httpd.apache.org/docs/1.3/howto/htaccess.html

За настройку апача отвечает httpd.conf,хтацесс отвечает за децентрализованное управление сервером(открыть/закрыть доступ,запаролить,редиректы и подобное).
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Кэширование файлов unity3d браузерами

Сообщение Ilya Smirnov 04 май 2010, 11:58

Не силен в апатче, но прочел вот, что

"Для управления кэшированием установлен модуль mod_expires, настройка параметров которого также производится в файле .htaccess с помощью директив. Директивой
ExpiresActive on|off
вы управляете включением/выключением кэширования соответственно. Подробное описание директив mod_expires вы можете найти на официальном сайте - http://httpd.apache.org/docs/1.3/mod/mod_expires.html. "
Аватара пользователя
Ilya Smirnov
UNец
 
Сообщения: 8
Зарегистрирован: 24 мар 2010, 09:11
Откуда: Arrived from Flash camp

Re: Кэширование файлов unity3d браузерами

Сообщение PAX 04 май 2010, 15:28

На моем хостинге не установлен такой модуль для апача, так что проверить как это работает не могу. А у меня платный хостинг. И что-то мне кажется мы не о том кешировании говорим. Меня волнует кэширование на стороне пользователя, т.е. его браузером, а не на сервере.
Blitz3d to Unity Wiki
icq: 208084972
skype: pax62rus
Аватара пользователя
PAX
UNIт
 
Сообщения: 134
Зарегистрирован: 03 ноя 2009, 12:53
Откуда: Россия, Рязань
  • Сайт
  • ICQ

Re: Кэширование файлов unity3d браузерами

Сообщение gnoblin 04 май 2010, 19:06

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


Вот! С этого и надо было начинать - теперь понятно в чем суть фишки.
Действительно полезно :-bd
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт


Вернуться в Tips & Tricks

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1