Обнаруживать онлайн-пользователей?

Я не уверен, что было бы самым простым способом сделать это. Мне нужно выяснить, какие пользователи подключены к сети на моем сайте. Поэтому, когда люди просматривают нить или что-то, она будет говорить рядом с именем пользователя, если они являются ОНЛАЙН или ОФЛАЙН. И внизу индекса форума скажет всех пользователей, которые находятся в сети.

Какой был бы самый простой способ сделать что-то подобное? Я не уверен, что мне понадобится Javascript, который будет запускаться каждый раз при загрузке страницы или что-то еще.

Благодаря 🙂

  • иметь базу данных MySQL с пользовательской таблицей
  • есть столбец в этой пользовательской таблице, который сохраняет «последний увиденный» -time
  • обновить этот столбец при каждом запросе страницы
  • при проверке в Интернете или в автономном режиме, проверьте, действительно ли текущее время минус «последний раз» – время больше, чем какое-

Редактирование. Вы могли бы по желанию сделать javascript «ping» на сервере (запросить пустую страницу) каждые две минуты или около того, если вы хотите, чтобы люди, работающие на холостом ходу с вашим сайтом, были открыты для отображения в Интернете.

Один из подходов состоит в том, чтобы хранить сеансы пользователей в базе данных или в другом хранилище, таком как memchached (или, в идеале, как наилучший способ обработки сеансов для сайта PHP на нескольких хостах ). Затем вы просто просматриваете пользователя в своем магазине и смотрите, активна ли его сессия.

Решение вроде этого: http://pureform.wordpress.com/2009/04/08/memcache-mysql-php-session-handler/

Вам нужно провести какую-то таблицу «сеанс», где вы удерживаете пользователя и время, когда он посетил страницу.

Если время больше, чем через 5 минут, пользователь отключен (и строка может быть удалена). Другие пользователи в таблице сеансов «онлайн».