|
|
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Доброе ээ День . Подскажите плиз как реализовать формирование списка залогинившихся пользователей. (я совсем не специалист в веб програмировании ) по поиску не нашел. Проект асп (не .НЕТ) . Я думаю это сделать так 1. При входе юзера в систему добавлять его данные во временную таблицу 2. на страничку где надо выводть их (какой то порцией) а вот дальше не пойму как засечь что юзер потерял конект с сервером и удалить его данные из временной таблицы. как запасти закрытие сессии именно данного конкретного юзера может кто то ссылки какие то даст почитать или совет какой , может я вообще не так все себе представляю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 11:47 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Все намного прозаичнее, проще и хуже ... Что есть сессия и чем она обуславливается? - Всего лишь идентефикатором, который приходит вместе с запросом. Отсюда вывод: контролировать наличие/отсутствие юзера можно только постоянным опросом. То есть делать механизм, по которому сервер бы постоянно с каким-то промежутком узнавал есть ли юзер онлайн. Также в веб-серверах и серверах приложений есть механизм, закрывающий сессию при таймауте. Не скажу по дефаулту сколько, но в настройках сервера можно указать время. При этом в серьезных серверных языках (читай - ПэХаПэ вряд ли реализует такую возможность) есть возможность устанавливать SessionFilter, который может словить падение сессии (принудительно или по таймауту). Так что единого универсального и удобного механизма нет. Сам давно хотел бы иметь таковой на Java, но приходится постоянно выкручиваться и усовершенствовать. P.S. Очень хотелось бы ошибиться в своих утверждениях, но давно интересуюсь этим вопросом и ответа, который бы меня полностью удовлетворил, пока не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 13:05 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Есть маленький психологический момент. Заставить юзера закрывать сессию кнопкой "Выход" - анриал. Потому пункт 1 сделать немного иначе. Заносить/обновлять в табличке юзера и текущее время каждый раз когда юзер обращается к серверу. Все записи старше примерно 10 минут считать не актуальными (удалять). Если конечно правильно понял вопрос. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 13:09 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Лучше использовать Session_OnEnd, пример article ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 18:50 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
IDVsbruck Так что единого универсального и удобного механизма нет. Сам давно хотел бы иметь таковой на Java, но приходится постоянно выкручиваться и усовершенствовать. чем javax.servlet.http.HttpSessionListener не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 19:08 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
[quot]а вот дальше не пойму как засечь что юзер потерял конект с сервером и удалить его данные из временной таблицы. как запасти закрытие сессии именно данного конкретного юзера[/quot] Тут HttpSessionListener не поможет. Он отлавливат только ручное удаление сессии и по таймауту (об этом я и говорил в своем предыдущем посте). По таймауту - это несерьезно - к примеру, у меня в приложении стоит таймаут на админов на 4 часа, а человек же может отвалиться и через 5 секунд, а слушатель просигнализирует только через 4 часа. Поэтому мы можем говорить только про ручное удаление, а его делают из расчета того, что страничка/сайт/веб-приложение определенное время не "сигнализировало" о своей активности, то есть делать на JavaScript или других средствах, которые могут производить самостоятельное взаимодействие с сервером, постоянный опрос-информирование сервера. К сожалению, никто ничего нового пока не придумал. Есть реализации типа апплетов или сокетов, но это не универсальные решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 23:13 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Andrey1306...При входе юзера в систему добавлять его данные во временную таблицу... ...как засечь что юзер потерял конект с сервером... Временная таблица в данном случае никак не поможет. По определению временной таблицы. Таблица должна быть постоянная. Как засечь? А никак. По инициатиые сервера просечь невозможно. Потому он и сервер, что у него инициативы нету. Обычно с клиентского браузера шлют по таймеру аяксовые запросы. Всех делов-то. Есть ещё некоторые хитрые технологии, но их не надо использовать и знать их не надо. Хотя они и имеют собственное имя - придумали их злобные ламеры, которые не разобрались как что и где работает, а слово запатентовали. Серверпуш - нецензурное слово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 23:36 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за подсказки, хоть буду знать куда копать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 15:52 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Серж, совсем "гнать" на сервер не надо ... :) Есть, к примеру, интересная технология - флеш-сокеты. Там сервер сам может инициировать запрос к клиенту. Правда, есть ограничения: обязательно должен стоять флеш и ограниченное количество пользователей. Очень удобно для админовского раздела в веб-проекте, когда пользователям можно навязать флеш (админы все-таки) и число их совершенно ограниченно. Иногда это очень нужно, так как в событийном коллекторе надо иметь актуальную информацию. Еще одна технология - Comet (Contunuations). Конечно, ее реализация напоминает обычные асинхронные запросы, но сервер отвечает только когда "ему нужно". Тем самым реализуется механизм, когда запрос как бы инициирует сервер. Еще апплеты. Но в силу их специфики они не являются универсальными. Хотя в идеале данная реализация была бы самой удобной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 21:03 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
IDVsbruckТам сервер сам может инициировать запрос к клиенту. Тогда это - не сервер. Сервер не может ни к кому по своему желанию инициировать запросы. Уже повторяюсь. Кстати, меня Сергей зовут, вообще-то мог бы и заметить, а тебя как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 21:16 |
|
||
|
Создание и отображение списка залогинившихся пользоватей
|
|||
|---|---|---|---|
|
#18+
Так я тебя так и зову ) А меня Дмитрий Владимирович :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 21:50 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35765931&tid=1455294]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
211ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 580ms |

| 0 / 0 |
