Различия
Здесь показаны различия между двумя версиями данной страницы.
comet:introduction-to-comet [2015/08/25 10:06] levhav создано |
comet:introduction-to-comet [2019/12/18 01:58] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Введение ====== | ||
- | Технология Comet — позволяет отправлять произвольные сообщения клиенту (в браузер) по инициативе сервера, это и называется push notifications или по русски push уведомления. | ||
- | Данная возможность достигается путём поддержания постоянного соединения браузера с Comet сервером. То есть для того чтобы мы могли отправить push уведомление в браузер посетителя необходимо поддерживать постоянное соединение. Для этого используется технология websocket, а в тех браузерах которые не поддерживают websocketes используется механизм long polling ajax запросов. | ||
- | |||
- | ====== Как работают push уведомления. ====== | ||
- | |||
- | На схеме изображено место комет сервера в процессе работы. Взаимодействие построено следующим образом. | ||
- | |||
- | - Браузер открывает страницу вашего сайта | ||
- | - После загрузки страницы JavaScript устанавливает постоянное соединение с comet сервером. | ||
- | - Пока открыта страница ваш сервер может отправить произвольное сообщение клиенту. Для этого он обращается с помощью PHP Api к комет серверу и передаёт ему сообщение для браузера. | ||
- | - Комет сервер используя открытое соединение с браузером доставляет полученное сообщение в браузер. | ||
- | - JavaScript Api полученное от сервера сообщение предаёт в ваш collback | ||
- | |||
- | {{ :comet:server-browser-cometserver.png?direct |}} | ||
- | |||
- | ====== Преимущества push сервиса ====== | ||
- | |||
- | Для вас преимущества данной схемы заключаются в том что комет сервер берёт на себя всю тяжесть обслуживания постоянно открытых соединений, тем самым разгружая инфраструктуру вашего сайта. Комет сервер написан на C++ специально для обслуживания очень большого количества постоянно открытых соединений с браузерами и отлично справляется с поставленной задачей. | ||
- | |||
- | ====== А почему нельзя использовать PHP? ====== | ||
- | |||
- | А почему нельзя использовать PHP? Да собственно можно и на PHP реализовать push уведомления, но только потребление памяти и скорость работы у PHP значительно ниже, а нагрузка на сервер будет большой. Именно поэтому рекомендуется использовать специализированные инструменты. | ||
- | |||
- | ====== Практические применения технологии push уведомлений ====== | ||
- | |||
- | * Online чаты | ||
- | * Уведомления о событиях | ||
- | * Браузерные многопользовательские игры | ||
- | * Графики обновляемые в реальном времени | ||
- | * Совместное редактирование документов | ||
- | * Список возможностей комет сервера | ||
- | * Отправка сообщений по инициативе сервера определённому пользователю (по его id) | ||
- | * Отправка сообщений по инициативе сервера всем пользователям которые подписались на канал | ||
- | * Определение онлайн пользователь или нет в данный конкретный момент | ||
- | * Получение статистики в реальном времени о общем количестве человек online |