pavel-pimenov / flylinkdc-r5xx

flylinkdc-r5xx
GNU General Public License v2.0
55 stars 27 forks source link

[Autoupdate] Выполняем лишнюю закачку файлов цифровой подписи #1117

Open pavel-pimenov opened 9 years ago

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on July 15, 2013 23:19:36

Лог на стороне сервера при старте приложения. [16/Jul/2013:01:02:07 +0400] "GET /etc/flylinkdc-config-r5xx.xml HTTP/1.1" 200 2029 "-" "FlylinkDC++ r502 -beta96 build 14508" [16/Jul/2013:01:02:43 +0400] "GET /update/5xx/beta/Update5_beta.xml HTTP/1.1" 200 153431 "-" " r502 -beta96 build 14508" [16/Jul/2013:01:02:43 +0400] "GET /update/5xx/beta/Update5_beta.sign HTTP/1.1" 200 128 "-" " r502 -beta96 build 14508" [16/Jul/2013:01:02:43 +0400] "GET /update/alluser/UpdateAU.xml HTTP/1.1" 200 1280 "-" " r502 -beta96 build 14508" [16/Jul/2013:01:02:43 +0400] "GET /update/alluser/UpdateAU.sign HTTP/1.1" 200 128 "-" " r502 -beta96 build 14508"

  1. Файлы .sign качаются сразу после .xml даже в том случае если система в обновленном состоянии. скачивать sign файл только если пользователь захотел обновиться или есть кандидаты для обновления.
  2. TODO в файле Update5_beta.xml на каждом файле очень избыточно храниться полный URL в тэге Url= Подумать и сократить постоянную часть переместив ее в корень xml постоянная части имеет вид: http://www.fly-server.ru/update/5xx/beta/ Если ее убрать размер xml сокращается с 153431 до 126084 но при этом придется изменить имя конфига... может и не стоит это делать - файл сейчас с сервера отдается в сжатом виде (прозрачно жмется для всех клиентов от Vista и выше)

Может оптимальнее EmoPacks хранить в zip архиве а не россыпью?

Original issue: http://code.google.com/p/flylinkdc/issues/detail?id=1080

pavel-pimenov commented 9 years ago

From Pavel.Pimenov@gmail.com on July 15, 2013 23:23:17

TODO Можно попробовать исключить загрузку xml файлов если они не менялись используя HTTP_QUERY_LAST_MODIFIED http://www.rsdn.ru/forum/delphi/637665.hot http://www.rsdn.ru/forum/winapi/1418127.flat но нужно сохранять локальную копию т.к. по ней нужно определять целостность файлов между обновлениями Пример - юзер удалил смайл или customLocation (ему нужно предложить забрать с сервера актуальную версию)