@distorsion

Оповещение на сайте в live-режиме — как сделать?

Как сделать оповещение на стороне клиента (пример ВК - один пользователь отправил сообщение, у другого вылезло уведомление)? Если ли готовые варианты? Что лучше использовать?
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 2
@D3lphi
В ВКонтакте это реализовано по средствам вам ежесекундных ajax запросов. Они используют аналог php, поэтому для них так было удобнее. Но в 2017 году такое принято писать с использованием веб сокетов - socket IO. Насчет готовых решений: Pusher (сервис).
Ответ написан
@Div100
Гугли по фразе push technology
В вк это делается на основе long polling запросов, то есть отправляется запрос с клиента и сервер не закрывает соедеинение. Он ждет пока не появятся какие-то изменения на сервере, как только, что-то меняется(приходит новое сообщение), сервер тут же отправляет по данному соединение ответ. Клиент отправляет новый запрос и все по новой.
Другой вариант, отправлять по сокету. В этом случае сервер сам может инициировать запрос, создать соединение и отправить по нему данные клиенту.
//пример псевдокод

//sendMessage ф-ия на сервере 
function sendMessage() {
//do any logic, save to database...
socket.emit(userId, data);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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