Проверка статуса пользователя - онлайн/оффлайн

PHProgress

Новичок
Добрый день.

Есть ли еще какие нибудь альтернативные способы проверить онлайн пользователя кроме как
1. через 30 секунд отправлять ajax-запрос с подтверждением активности
2. кроме как при обновлении страницы

--
Спасибо.
 

Zvook

Новичок
Добрый день.

Есть ли еще какие нибудь альтернативные способы проверить онлайн пользователя кроме как
1. через 30 секунд отправлять ajax-запрос с подтверждением активности
2. кроме как при обновлении страницы

--
Спасибо.
3. отправить ajax запрос через 20 секунд :)

А вообще что подразумевается под "проверить"? Вывести что-то в браузер? Тогда так или иначе посылать запрос.
 

PHProgress

Новичок
3. отправить ajax запрос через 20 секунд :)
Просто если ставить меньше 30 секунд - очень часто получится и много запросов.

А вообще что подразумевается под "проверить"? Вывести что-то в браузер? Тогда так или иначе посылать запрос.
Есть список пользователей - и им нужно проставлять статус онлайн - тем кто что-то там делает...
Если он закрывает окно браузера/или выходит из системы (что одно и то же) - то статус должен измениться на оффлай
 

Zvook

Новичок
Ну я бы сделал как то так: Поставил бы триггеры на страницах, с просмотров которых необходимо считывать статусы, завел бы табличку в базе, в которую бы обновлял статус пользователя по вышеупомянутым триггерам. Ну а как выводить зависит от ситуации. Либо при прогрузке страницы, либо аяксом.

Итого уже насчитали 4 способа:

1. через 30 секунд отправлять ajax-запрос с подтверждением активности
2. кроме как при обновлении страницы
3. отправить ajax запрос через 20 секунд
4. позвонить ему по телефону
 

Фанат

oncle terrible
Команда форума
поддерживать постоянное соединение с сервером
 

pitbull0007

Новичок
флешка, веб-сокеты, лонг-поллинг...
поддерживать постоянное соединение с сервером
Постоянное соединения для проверки статуса я думаю это из пушки по мухе стрелять... Самый раз, если данные не обновляются часто, использовать ajax...
 

radioheaded

PHP нуб
Обычно статус онлайн считается как выполнение логического условия время_любого_последнего_действия + таймаут > сейчас.
 

fixxxer

К.О.
Партнер клуба
Надо ответить на вопрос, что считается активностью пользователя.

Вот я открыл сайт в табе, в него сутки не смотрю и ничего там не делаю. Я, простите, активный или пассивный?
 

radioheaded

PHP нуб
Надо ответить на вопрос, что считается активностью пользователя.

Вот я открыл сайт в табе, в него сутки не смотрю и ничего там не делаю. Я, простите, активный или пассивный?
Да, это правильный вопрос. Если там в табе крутится видео или плейлист с песнями, то да, юзер активен, независимо от того, что он делает на самом деле. Grooveshark, например, через какое-то время приостанавливает воспроизведение и показывает окно с вопросом «Are you still here?».
 
Сверху