Как синхронизируются с сервером такие приложения как Whatsapp, Viber и т.д.?

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

Делаю клиент-серверное приложение на андроиде: клиент-А в фоновом потоке должен отправлять на сервер свои координаты каждое N-ое количество секунд, клиент-Б должен синхронизироваться с сервером на случай появления новых координат и если есть новые - обрабатывать.
Мне в голову лишь приходит мысль: сервис клиента-Б должен каждое N-ое количество секунд совершать запрос на сервер и проверять на наличие обновлении. НО! В таком случае телефон должен постоянно совершать задачу, что приведет к повышенному расходу батареи или в худшем случае система может прибить за нерациональную работу в целом. Тогда возникает вопрос: каким образом тогда работают такие приложения как Whatsapp, они же моментально синхронизируются. Каким способом пользуются?

Заранее спасибо
  • Вопрос задан
  • 675 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Пока запущены, держат соединение с сервером. Когда закрыты, принимают новые сообщение через FCM.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@FullStackAlex
Веб-разработчик, электрик, кочевник
Не знаю как WhatsApp это делает, но если бы я что то вроде WhatsApp захотел бы создать, то использовал бы WebSocket.
https://en.wikipedia.org/wiki/WebSocket
https://hackernoon.com/how-to-build-your-own-real-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы