Обнаруживать онлайн-пользователей?
Я не уверен, что было бы самым простым способом сделать это. Мне нужно выяснить, какие пользователи подключены к сети на моем сайте. Поэтому, когда люди просматривают нить или что-то, она будет говорить рядом с именем пользователя, если они являются ОНЛАЙН или ОФЛАЙН. И внизу индекса форума скажет всех пользователей, которые находятся в сети.
Каким будет самый простой способ сделать что-то подобное? Я не уверен, что мне понадобится Javascript, который будет запускаться каждый раз, когда загружается страница или что.
Спасибо:)
Ответы
Ответ 1
- имеют базу данных MySQL с пользовательской таблицей
- есть столбец в этой пользовательской таблице, который сохраняет "последний увиденный" -time
- обновить этот столбец при каждом запросе страницы
- при проверке в Интернете или в автономном режиме, проверьте, превышает ли текущее время минус "последний раз" время, которое вам нравится
Изменить: вы могли бы сделать javascript "ping" на сервере (запросить пустую страницу) каждые две минуты или около того, если вы хотите, чтобы люди, работающие на холостом ходу с вашим веб-сайтом, также отображались в Интернете, также.
Ответ 2
Один из подходов заключается в том, чтобы хранить сеансы пользователей в базе данных или в другом магазине, например memchached (или идеально как Каков наилучший способ обработки сеансов для PHP-сайта на нескольких хостах?). Затем вы просто просматриваете пользователя в своем магазине и смотрите, активна ли его сессия.
Решение, подобное этому: http://pureform.wordpress.com/2009/04/08/memcache-mysql-php-session-handler/
Ответ 3
Вам нужно провести какую-то "сессионную" таблицу, где вы удерживаете пользователя и время, когда он посетил страницу.
Если время составило более 5 минут, пользователь отключается (и строка может быть удалена).
Другие пользователи в таблице сеансов "онлайн".