Задать вопрос

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

Собственно, вот в чём вопрос: как работают приложения типа вк, инстаграм и тд: их сервер уведомляет о событии или приложение мониторит сервер на наличие события и потом генерит уведомление?

По моим соображениям, второй вариант более прожорливый.

И какие темы копать нужно, что познать такую систему общения приложения с сервером?
  • Вопрос задан
  • 1064 просмотра
Подписаться 6 Оценить Комментировать
Решения вопроса 2
@itdroid
Скорее всего, используется первый вариант: сервер через систему Push-уведомлений, говорит клиентам, что есть какие-то изменения и клиенты, в свою очередь, идут на сервер за более подробной информацией.

Смотрите в сторону GCM: https://developers.google.com/cloud-messaging/andr...
Ответ написан
Комментировать
riky
@riky
Laravel
опишу про вк.
приложения работают через апи, а там только методы для запросов на сервер.

но для сообщений например у них есть long pulling vk.com/dev/using_longpoll
Принцип работы Long Poll соединения заключается в том, что сервер, получив запрос, удерживает его до тех пор, пока не произойдёт событие или не истечёт время, указанное в параметре wait

то есть делаете запрос и ждете - когда запрос выполнится/завершится - либо произошло событие либо ничего.

Для мобильных приложений есть пуши vk.com/dev/android_push но там только сообщения и друзья.

Если нужно мониторить например лайки или комменты - то нужно время от времени дергать ленту событий.

то есть как видим соц сети используют разные механизмы для разных ситуаций.

upd:
для событий связанных с группами (новый коммент, сообщение в группу, новая тема и тд) администратор может добавить callback url, и все эти события будут моментально сыпаться на него. https://vk.com/dev/callback_api
это также позволяет постоянно не дергать апи в цикле.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
Запрос - ответ - уведомление\отображение. Вот так вкратце ЛЮБОЕ интернет приложение работает.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы