2013-09-18 5 views
0

Я разрабатываю приложение, которое будет периодически проверять веб-адрес на наличие обновлений. Обновления будут в таблицах базы данных MySQL.периодически проверяйте обновления сервера

Я знаю, как это сделать, заключается в создании службы, которая постоянно работает и пытается периодически проверять обновление (скажем, 10 секунд).

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

  1. Нужно ли вручную проверять обновление каждый раз с клиента на сервер? (т. е. принять значение на стороне клиента, отправить его на серверную сторону и провести сравнение с заголовком), OR, сервер php/MySQL может отправить уведомление о том, что есть обновление, которое имело место.

  2. Я столкнулся с функцией RSS в нескольких сообщениях в SO, однако те, кто, как правило, являются приложениями NEWS, мои не так уж и похожи. Помогает ли здесь использовать RSS-каналы?

  3. Я планирую делать проверку каждые 10 секунд. Это означает, что после установки приложения, и поскольку приложение находится на устройстве (и до тех пор, пока есть подключение к Интернету), я буду продолжать получать сервер. Это, как правило, пропускная способность и ram/cpu, потребляющие для клиентской стороны. Как делают такие большие приложения, как Viber, WhatsApp?

  4. Просто думая вслух - во избежание таких хлопот я думал с каждым обновлением на сервере, отправлял уведомление пользователю с определенным кодом и выполнял математику внутри onReceive, если код был чем-то связанным с обновлением, 1 - не показывать уведомление пользователю, 2-запустить проверку обновления сервера.

идеи?

+0

3 буквы: GCM – njzk2

+0

@ njzk2 поэтому нет необходимости делать услугу? просто действовать в соответствии с каждым GCM? что, если на устройстве не было связи, а уведомления не доходили? – tony9099

+1

Если соединение с устройством отсутствует, вы все равно не можете добраться до сервера. вам нужно прочитать документацию GCM, чтобы узнать, что уведомление действительно получено в BroadcastReceivers, а также как вызвать сервер GCM с вашего сервера ... – njzk2

ответ

0

Проблема: традиционные системы php/html ориентированы на клиента (клиент должен инициировать все коммуникации).

Возможно, вы захотите изучить websockets или node.js. Эти технологии позволят вам создать постоянное соединение между сервером и его клиентами. Это, в свою очередь, позволит вам «нажимать» данные клиенту, когда это необходимо, без необходимости запрашивать у клиента каждые х минут.

Node.js Chat Example

Node.js info

Смежные вопросы