|
|
|

08.10.2009, 10:35
|
 |
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,577
|
|
|
А такой алгоритм не катит?:
1) Заходит человек под именем
2) ему создается сессия
3) запоминаем в БД в таблицу X связку "имя->сессия"
4) заходит "наш" пользователь на сайт
5) по таблице X для всех имен проверяется наличие файла сессии
5.1) если имеется - > выводим что присутствует
5.2) если не имеется - > удаляем из X запись.
|
|
|

08.10.2009, 10:37
|
 |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
|
ну можно посчитать количество файлов сессий *JOKINGLY*
|
|
|

08.10.2009, 10:43
|
 |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
|
Сообщение от micscr
|
|
5) по таблице X для всех имен проверяется наличие файла сессии
|
время жизни сессии не смущает? Кроме того, ты уверен, что файлы сессий сразу удаляются?
|
|
|

08.10.2009, 10:50
|
 |
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,577
|
|
Сообщение от x-yuri
|
|
время жизни сессии не смущает? Кроме того, ты уверен, что файлы сессий сразу удаляются?
|
Так и человек за браузером может заснуть. Что же теперь его нет? Нет есть, только спит.
Необходимые издержки, кому надо точно - можно в таблицу X
добавить поле "время последнего захода" и фильтровать в пункте 5) еще по нему.
|
|
|

08.10.2009, 11:43
|
 |
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
|
Сообщение от Kolyaj
|
|
А причем здесь сессии?
|
Не знаю как в php, но в asp.net, во-первых, есть Application (сессия для всех, фактически удобная база данных в памяти компа), во-вторых, события Session_Start и Session_End. С помощью этого все необходимое реализуется в 2 строки кода.
|
Сообщение от x-yuri
|
|
время жизни сессии не смущает?
|
Надеюсь в php менять-то его можно?
|
|
|

08.10.2009, 11:50
|
 |
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,577
|
|
Сообщение от Riim
|
|
Надеюсь в php менять-то его можно?
|
Можно, но мало - тоже не хорошо
|
|
|

08.10.2009, 12:00
|
 |
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
|
в общем, для начала нужно определиться, что значит "пользователь находится на сайте"
|
|
|

11.10.2009, 12:27
|
|
Кандидат Javascript-наук
|
|
Регистрация: 12.08.2009
Сообщений: 116
|
|
|
"пользователь находится на сайте" - значит что пользователь открыл браузер и "бродит" по моему сайту... а если пользователь закрыл браузер, либо закрыл вкладки моего сайта или нажал на сайте выход - значит пользователь не находится на сайте.
|
|
|

11.10.2009, 14:22
|
 |
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
|
сохранять в ответ на каждый запрос пользователя в базе время его запроса, и его SESSID к примеру
на запрос "кто на сайте" выводить тех пользователей, которые посылали запрос в течении последних T секунд
каждые Т секунд с клиента посылать запрос на сервер
При этом вы получите большую точность чем обычно, и повесившийся сервер.
поэтому на практие не стоит применять идею с регулярными запросами.
лучше стоит обойтись без них, а в качестве T выбрать среднее время просмотра страницы на своем сайте, к примеру
|
|
|

11.10.2009, 15:05
|
|
Кандидат Javascript-наук
|
|
Регистрация: 12.08.2009
Сообщений: 116
|
|
|
спасибо
|
|
|
|