Здравствуйте. Вопрос для программистов. У меня есть сайт http://blogifelse.ru
Как сделать счетчик пользователей онлайн. Онлайн имеется ввиду в данный момент. Может есть какие нибудь решения на javascript или php?
JavaScript
Счетчик пользователей онлайн
Готового решения не скажу, но вот пара универсальных советов на подумать.
Если мы говорим о стандартном HTTP сервере, то протокол не подразумевает хранения информации об активном пользователе. Задача сервера - слушать входящие запросы, отвечать на них - и тут же про них забывать. Пользователь производит запросы к серверу при запросе страниц и файлов в коде страницы. Также запросы можно выполнять через Ajax. Однако это в любом случае, не долговременные сессии, а короткие, исчисляемые миллисекундами. Можно придумать множество костыльных решений, когда поднимается ещё один вечно работающий сервер, которому HTTP сервер передаёт информацию о подключении, и тот хранит его, допустим, в течение минуты. При этом находящийся на сайте пользователь через каждые 30 секунд отправляет "keep-alive" Ajax запросы для "подогревания" сессии. В ответ на эти запросы мы как раз и можем получать данные о текущих пользователях онлайн, записывая в нужное место страницы.
Однако есть более стандартное и современное решение: протокол WebSocket. Для этого на сервере нужно поднять WebSocket сервер и слушать входящие соединения. Я такой несколько лет назад писал сам на PHP, но, уверен, уже есть готовые решения, нужно просто поискать. Также в браузере создаётся соединение через
var socket = new WebSocket('ws://your.domain/ws');
и через этот объект сервер спокойно следит за всеми подключенными пользователями, и отдаёт им актуальную информацию о цифре в счётчике. Некая простая реализация чата.
У меня есть реализация таких сервера и клиента на NodeJS на github, могу поделиться при запросе.
Если мы говорим о стандартном HTTP сервере, то протокол не подразумевает хранения информации об активном пользователе. Задача сервера - слушать входящие запросы, отвечать на них - и тут же про них забывать. Пользователь производит запросы к серверу при запросе страниц и файлов в коде страницы. Также запросы можно выполнять через Ajax. Однако это в любом случае, не долговременные сессии, а короткие, исчисляемые миллисекундами. Можно придумать множество костыльных решений, когда поднимается ещё один вечно работающий сервер, которому HTTP сервер передаёт информацию о подключении, и тот хранит его, допустим, в течение минуты. При этом находящийся на сайте пользователь через каждые 30 секунд отправляет "keep-alive" Ajax запросы для "подогревания" сессии. В ответ на эти запросы мы как раз и можем получать данные о текущих пользователях онлайн, записывая в нужное место страницы.
Однако есть более стандартное и современное решение: протокол WebSocket. Для этого на сервере нужно поднять WebSocket сервер и слушать входящие соединения. Я такой несколько лет назад писал сам на PHP, но, уверен, уже есть готовые решения, нужно просто поискать. Также в браузере создаётся соединение через
var socket = new WebSocket('ws://your.domain/ws');
и через этот объект сервер спокойно следит за всеми подключенными пользователями, и отдаёт им актуальную информацию о цифре в счётчике. Некая простая реализация чата.
У меня есть реализация таких сервера и клиента на NodeJS на github, могу поделиться при запросе.
У яндекс метрики был готовый информер, вродекаг.
Если показывать визиты не надо, а только считать - то тем более ЯМ.
Если показывать визиты не надо, а только считать - то тем более ЯМ.
Александр Кучерявый
Я плохо знаком с ЯМ, но что-то мне подсказывает, что они немного о другом. Задача подобных сервисов в накоплении и хранении статистики по событиям. Если мы будем кидать события в базу каждые 30-60 секунд и так же запрашивать их выгрузку, то это кажется не самой лучшей затеей для такой задачи. Или каким образом это работает?
а что лайвинтернет уже умер?))
по моему нет- что мешает использовать его?))
Там как раз такое предусмотрено
по моему нет- что мешает использовать его?))
Там как раз такое предусмотрено
Похожие вопросы
- Как сделать голосование для пользователя только один раз?
- Лучшие онлайн курсы по JavaScript с нуля
- подскажите компилятор для javascript(не онлайн)
- Помогите составить таймер на javascript чтобы отображалось время пребывания пользователя на странице.
- Почему все онлайн казино и рулетки используют node js вместо php(laravel)
- Php!? Нужен скрипт подсчета пользователей(онлайн) чата!?
- кто знает мощный анти DDoS хостинг? для мощного портала, от 10 тыс пользователей онлайн
- Психология сетевого моббинга: каковы мотивы и потребность устроить травлю того или иного пользователя онлайн? см вн
- Подскажите кто должен устанавливать счетчики газа государство или пользователи?
- Какие пользователи считаются уникальными (счетчик посещений?)См. пояснение!