Russian Qt Forum

Qt => Работа с сетью => Тема начата: MAGrikh от Июня 22, 2009, 18:04



Название: как постоянно мониторить обновляемую WEB страницу?
Отправлено: MAGrikh от Июня 22, 2009, 18:04
Возможно ли средствами QT отслеживать изменения WEB-страницы в режиме реального времени

На сколько я понимаю стандартно - отправил запрос -> получил ответ и все... сессия с данной страницей завершена...
а мне нужно чтобы программа в случае изменения информации на странице выдавала мне сообщение об этом


Название: Re: как постоянно мониторить обновляемую WEB страницу?
Отправлено: break от Июня 23, 2009, 01:51
Цитировать
Возможно ли средствами QT отслеживать изменения WEB-страницы в режиме реального времени

А это случаем вообще самого WEB ограничением не является? Есть всякие технологии "аджакс" или как это правильно называется - может оно поможет. Если я правильно все понимаю WEB в своем наиболее распостраненном виде не онлайн сам по себе - то есть не отслеживает никаких изменений. Я бы сначала пытался делать самый простой вариант с таймером и сравнением текущего и нового содеражвния странички - если отличается то уж генерить сигнал... Надеюсь я правильно понял вопрос.


Название: Re: как постоянно мониторить обновляемую WEB страницу?
Отправлено: Alex Custov от Июня 23, 2009, 03:05
На сервере нужна поддержка тегов, отвечающих за кеширование. Тогда можно использовать возможности GET: http://ruturajv.wordpress.com/2005/12/27/conditional-get-request/


Название: Re: как постоянно мониторить обновляемую WEB страницу?
Отправлено: mugabe от Июня 23, 2009, 14:33
Как уже выше заметили - http для таких целей не предназначен.
Единственный способ - переодически проверять. Что бы не получать лишнюю информацию, вместо GET можно использовать HEAD и смотреть на Last-Modified. И то, только в том случае, если он обновляется корректно.


Название: Re: как постоянно мониторить обновляемую WEB страницу?
Отправлено: fuCtor от Июня 24, 2009, 07:27
Если веб страница (сервер) ваша, то посмотрите на технологию COMET (http://en.wikipedia.org/wiki/Comet_(programming)). В частности можно посмотреть на APE (http://www.ape-project.org/) (правда это для Linux только).