Различия

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

Ссылка на это сравнение

comet:faq:realtime-users-list [2016/10/18 15:58]
levhav
comet:faq:realtime-users-list [2019/12/18 02:05]
Строка 1: Строка 1:
-====== Как реализовать ​ список посетителей обновляющийся на "​лету"?​ ====== 
  
-Есть несколько возможных вариантов реализации. 
-  
-Можно получить из комет сервера список авторизованных пользователей подписанных на какой то из каналов. 
-  
-  - Пользователь проходит [[comet:​authentication|авторизацию на комет сервере]] 
-  - [[comet:​javascript_api#​подписка_на_получение_сообщений_из_канала|Подписывается на канал]] вида track_* (можно использовать любое название канала,​ например track_online или как угодно) 
-  - Вы запросом к CometQL api получаете [[comet:​cometql#​таблица_users_in_pipes|список авторизованных пользователей подписанных на канал]] (это уже список кто сейчас онлайн) 
- 
-  - Чтобы список пополнялся новыми пользователями в режиме реального времени то надо в js добавить обработчики на события subscription и unsubscription приходящие из канала track_online (или того на какой вы подписались) 
- 
-===== Получение списка пользователей онлайн ===== 
-Запросом к CometQL api получаете [[comet:​cometql#​таблица_users_in_pipes|список авторизованных пользователей подписанных на канал]] 
-<​code>​ 
-mysql> SELECT * FROM users_in_pipes WHERE name = "​track_online";​ 
-</​code>​ 
- 
- 
-===== Подписка на обновление списка пользователей онлайн =====  
-<code JavaScript>​ 
-CometServer().subscription("​track_online.subscription",​ function(msg) 
-{ 
-    // Обработка события что кто то зашёл на сайт и подписался на канал track_online 
-});  
-CometServer().subscription("​track_online.unsubscription",​ function(msg) 
-{ 
-    // Обработка события что кто то покинул сайт и/или отписался от канала track_online 
-});  
-</​code>​