|
|
|
| Как в теории реализовать онлайн движок. Т.е как определить пользователя в онлайне или в офлайне?
Допустим, есть база данных пользователей, делаем ячеку online в таблице members. Если пользователь залогинился то обновляем ячейку online c нуля на единицу. А если пользователь делает logout то обнавляем ячейку online на 0.
А если пользователь просто закрывает окно браузера, то что тогда делать?
Или как можно всё это проще реализовать? | |
|
|
|
|
|
|
|
для: designshadow
(21.09.2010 в 05:23)
| | >Как в теории реализовать онлайн движок. Т.е как определить пользователя в онлайне или в офлайне?
>
>Допустим, есть база данных пользователей, делаем ячеку online в таблице members. Если пользователь залогинился то обновляем ячейку online c нуля на единицу. А если пользователь делает logout то обнавляем ячейку online на 0.
>А если пользователь просто закрывает окно браузера, то что тогда делать?
а тогда ничего не делаем, поскольку умирающий браузер серверный скрипт не вызовет. А больше его звать некому.
Hint:
online-посетитель не тот, у кого флажок в БД стоит.
а тот, у кого время последней активности не старее некоторой величины. | |
|
|
|
|
|
|
|
для: designshadow
(21.09.2010 в 05:23)
| | В таблице поле - onlain, тип int (например)
Занести в поле onlain время последней активности (time()) (например, пользователь зашел на какую-либо страницу). На случай если пользователь долго не обнавляет страницу, через AJAX, например, раз в 10 минут посылать серверу информацию что пользователь всё еще на сайте, сервер в свою очередь заносит в поле onlain новое время!
И последнее, проверять пользователей, которые не активны больше, например, 10 минут и изменять их статус на неактивен (например присвоить полю onlain значение 0) ! | |
|
|
|
|
|
|
|
для: serenya1983
(21.09.2010 в 13:36)
| | >В таблице поле - onlain, тип int (например)
>Занести в поле onlain время последней активности (time()) (например, пользователь зашел на какую-либо страницу).
Гуд.
>На случай если пользователь долго не обнавляет страницу, через AJAX, например, раз в 10 минут посылать серверу информацию что пользователь всё еще на сайте, сервер в свою очередь заносит в поле onlain новое время!
Зачем?
>И последнее, проверять пользователей, которые не активны больше, например, 10 минут и изменять их статус на неактивен (например присвоить полю onlain значение 0) !
Зачем? | |
|
|
|
|
|
|
|
для: serenya1983
(21.09.2010 в 13:36)
| | И, кстати, online - а то чуть глаза не сломал. | |
|
|
|
|
|
|
|
для: neadekvat
(21.09.2010 в 14:24)
| | ну да, незнаю откуда привычка писать onlain, хоть и правильно online!!! | |
|
|
|
|
|
|
|
для: serenya1983
(21.09.2010 в 19:58)
| | вышибайте. | |
|
|
|