Russian Qt Forum

Qt => Работа с сетью => Тема начата: UVV от Ноябрь 03, 2010, 17:23



Название: Проверка обновлений
Отправлено: UVV от Ноябрь 03, 2010, 17:23
Привет.
Как правильно организовать проверку обновлений по http?
Просто мне кажется, что парсить страницу ChangeLog'a не самый идеальный способ...


Название: Re: Проверка обновлений
Отправлено: marbius от Ноябрь 03, 2010, 17:49
А проверку обновлений своего приложения или все-таки стороннего?


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 03, 2010, 18:02
Своего


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 03, 2010, 18:03
Пока придумал сделать файлик типа <application>-current-version, записать в него нужную информацию и проверять его.
Нормальное решение?


Название: Re: Проверка обновлений
Отправлено: marbius от Ноябрь 03, 2010, 18:19
ИМХО вполне, а формат может быть любой: и текстовый, и бинарный - любой, с которым Вам работать удобнее.


Название: Re: Проверка обновлений
Отправлено: merke от Ноябрь 04, 2010, 13:05
Правильнее будет набросать на php небольшой скрипт и обращаться к нему посредством QHttp или QNetworkAccess. При обращении к скрипту тот будет как раз таки выдавать актуальную версию проги. Получив данные от скрипта просто парсить и выдерать эту версию. А версию на веб сервере конечно можно хранить в файлике, будь то бинарник или текстовик без разницы!


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 04, 2010, 13:09
А зачем так делать? Ведь можно просто запросить файл.


Название: Re: Проверка обновлений
Отправлено: merke от Ноябрь 04, 2010, 13:11
Для красоты=)


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 04, 2010, 18:25
Для красоты=)
Мсье знает толк в извращениях =)


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 14:39
Скрипт или текстовик парсить разницы особой нет.

Выдернули Вы версию, например 1.2.

А номер текущей версии my.DLL, например она 1.1 (в программе) как узнаете ?


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 14:48
Еще одна важная задача:

А как будете обновлять библиотеки, если они уже устарели ???

Юзер должен сам обновить или автоматом (сервис изменил работу) ?


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 15:02
А номер текущей версии my.DLL, например она 1.1 (в программе) как узнаете ?
Не понял вопроса.


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 17:46
Это не именно к Вам адресуется.

Например, в программе есть ряд библиотек (my1.dll  и т.д.), они имеют номер версии (типа 1.2.3).

Их мы хотим обновить, но для этого:
1) парсим файл на серваке и берем номер новой версии;
2)  берем текущую версию в нашей проге;
3)  сравниваем их;
4) если новая версия (1.2.4) > текущая версию (1.2.3) = обновить


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 19:14
Ну да, всё именно так.


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 20:23
Номер текущей версии библиотеки (1.2.3) в проге как хотите узнать ?


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 20:37
define


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 21:09
Ага, понятно !
Или можно добавить функцию, которая возвращает версию.


А как будете обновлять библиотеки ?

Юзер должен сам обновить или автоматически ?


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 21:25
А как будете обновлять библиотеки ?

Юзер должен сам обновить или автоматически ?
Пока только буду выдавать сообщение, что доступна новая версия.
А почему вы спрашиваете? )


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 05, 2010, 22:07
Как раз занимаюсь подобной задачей и Вы просто вмастили !  ;D

Методы очень похожи, кроме того у меня модуль статистики есть.


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 23:10
Что будет на сервере - я не знаю, этим другой человек занимается.
Я с ним только согласую формат файла, который буду запрашивать.
Т.е. я занимаюсь только частью клиентского (если можно так выразиться) приложения.


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 05, 2010, 23:13
А как будете обновлять библиотеки ?

В этом пока и трудность, поскольку у нас единый бинарник.
Поэтому пока будет выполнена только та часть, которую я описал выше.
На всякий случай, вот тут тоже есть полезная информация: http://www.qtcentre.org/threads/6563-Qt-application-auto-updater?highlight=check+for+updates


Название: Re: Проверка обновлений
Отправлено: Etud от Ноябрь 08, 2010, 11:39
Интересно еще через какое время будет проверка обновлений ?

Клиент (программа) сам будет к серверу коннектится.


Название: Re: Проверка обновлений
Отправлено: UVV от Ноябрь 08, 2010, 12:18
Интересно еще через какое время будет проверка обновлений ?

Клиент (программа) сам будет к серверу коннектится.
Я думал, что при запуске.
P.S. Если интересно пообщаться, стучи в личку, дам контакты )


Название: Re: Проверка обновлений
Отправлено: Urvin от Ноябрь 10, 2010, 22:24
Иметь локальный файл с описанием обновляемых файлов и их текущих версий
Код
XML
<update_info>
  <module filename="a.exe">1287872</module>
  <module filename="b.dll">1287676</module>
  <module filename="c.ini">1287572</module>
</update_info>
 

у сервера спрашивать список модулей и их новые версии