[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Online/Offline на сайт
fallow
Хочу прикрутить online/offline статус в чат.
Единственный вариант, отслеживать активность, как я нашёл (но есть ещё сокеты,но не хочется, париться).
Вот клиент только зашёл на сайт, и после onload пошёл запрос мол сделай меня online, дальше каждые 5 мин к примеру шлём запрос мол я ещё здесь, и метку online с меня не снимай.
А если пользователь ушёл, и запрос на сервер ни пришёл, какие дальнейшие действия? biggrin.gif
Я ж не сервере не могу запускать скрипт через интервал)



Спустя 1 час, 5 минут, 29 секунд (14.05.2011 - 21:09) fallow написал(а):
Что нет идей?

Спустя 9 минут, 24 секунды (14.05.2011 - 21:19) sharki написал(а):
fallow
Не отвечают потому что тупо лень :D это простейшая ведь задача.

Примерный алгоритм:
1) Как ты говоришь отправляешь запросы каждые 5 минут, даже можно и чаще, минуты 2-3 хватит
2) Создай в БД поле с типом DATETAME, и туда помещай актуальную дату КАЖДОГО запросу, ну update поля.
3) Если это функция на стороне сервера, то сделай еще одну функцию, которая будет запускаться КАЖДЫЙ раз от кого бы не произошел запрос, что она делает?
4) Данная функция делает запрос на получение всех пользователей у которых
`date` + INTERVAL 3 MINUTE < NOW()

5) Получаешь всех пользователей, потом создаешь некий массив вида array(0 => 3); (самый стандартный массив где ключ простой, а значение это id пользователя)

потом обновляешь свою таблицу где id IN (".implode($arr).") и вуаяля.

Спустя 39 минут, 34 секунды (14.05.2011 - 21:58) fallow написал(а):
Спасибо, чё biggrin.gif
Да всё глубже и глубже в js уходить начал, позабыл sql, или спать хочу biggrin.gif

Спустя 2 месяца, 2 дня, 1 час, 8 минут, 23 секунды (16.07.2011 - 23:07) NoNsYs написал(а):
Лучше не через onLoad а через Ajax всё это прокрутить
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.