Как оповестить устройство о изменениях на сервере?
====================================================

 Здравствуйте!  

Есть задача, реализовать оповещения пользователя, если на сервере были изменения. Появилось два варианта реализации данной задачи:   

1 - Сервер сам оповещает устройство пользователя(Заранее извините, это моя идея, возможно такого способа нет).   

2 - Реализовать механизм на устройстве, который будет периодически посылать запрос на сервер и оповещать пользователя об изменениях на сервере.   

Какой из вариантов предпочтительней? 

 самый простой и наименее трудозатратный это gcm 

> возможно такого способа нет

  

Такой способ есть, вместо HTTP нужно использовать непосредственно TCP/IP, устанавливаем соединение, и сервер, когда хочет, шлет пакет устройству, и устройство тоже так может со своей стороны, нет никакой необходимости слать пакет (запрос), чтобы получить ответный пакет.  

Или хотя бы использовать Long Polling, это долгое, а не частое опрашивание, так снижается частота запросов, это намного проще сделать, при этом сервер по-прежнему остается HTTP-сервером, но лучше TCP/IP.  
  

> Какой из вариантов предпочтительней?  
> 

  

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