Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
2 / 2 / 1
Регистрация: 29.06.2011
Сообщений: 45
1

Как узнать онлайн ли юзер в данный момент?

04.07.2011, 15:02. Показов 4702. Ответов 9
Метки нет (Все метки)

подскажите кто знает, как ето можно организовать. Точнее проверить на сайте ли пользователь, если он зарегистрирован .....
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2011, 15:02
Ответы с готовыми решениями:

Как узнать состояние потока в данный момент?
Как узнать состояние потока(приостановлен или работает)? Использую библиотеку <thread>

Как узнать, нажата ли в данный момент клавиша Shift?
Как узнать, нажата ли в данный момент клавиша Shift???

Как узнать, что компьютер пингуют в данный момент?
Всем добрый день! команда ping - это значит что я отправляю "пакеты" на какой-то IP а как я...

Как узнать воспроизводится ли в системе в данный момент звук?
Подскажите как можно средствами VB или API узнать: 1.Воспроизводится ли в системе в данный...

9
1490 / 757 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
04.07.2011, 16:59 2
Можно воспользоваться Session
0
19 / 19 / 3
Регистрация: 05.07.2011
Сообщений: 41
07.07.2011, 12:56 3
nvovka, можно периодически отсылать ajax post запросы (раз в 5 минут например) и апгрейдить дату последнего онлайна например, а потом где нужно узнать онлайн он или нет проверять эту дату, если она больше 5 минут то значит юзер не онлайн
0
2 / 2 / 1
Регистрация: 29.06.2011
Сообщений: 45
07.07.2011, 13:19  [ТС] 4
maxim82, так я так понимаю ты предлагаеш нужно узнать дату последнего онлайна и ....>5 false else true, Так а как имеенно узнать что онлайн. Как в поле в БД (IsOnlain например) записывать true или false. Если юзер заходит true выходит false....
0
19 / 19 / 3
Регистрация: 05.07.2011
Сообщений: 41
07.07.2011, 13:35 5
nvovka, этот пример, если тебе нужно знать на сайте ли пользователь, не закрыл ли браузер (вкладку), т.е. если пользователь бездействует, но тебе интересно а тут ли он еще (5 минут это просто пример, можно каждую минуту проверять или сколько нужно)? Если нужна простая система, типа пользователь залогинился стал онлайн, бездействует какое то время уходит в оффлайн (стандартная система), то:
1. Если ты используешь MemberShip
он автоматически выводит пользователя в оффлайн, подробнее в google
2. Если у тебя самописная логика
в Global.asax подписываешься на события Session_Start (делаешь update данных пользователя на online) и Session_End (соответственно на offline). Session_End срабатывает после определенного времени бездействия пользователя (устанавливается в Web.config, по умолчанию 20 минут).
1
2 / 2 / 1
Регистрация: 29.06.2011
Сообщений: 45
07.07.2011, 17:27  [ТС] 6
MemberShip ниразу неслышал что он сам переводит в оффлайн ну спасибо поищу
0
4199 / 1791 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
07.07.2011, 17:39 7
nvovka, проще всего проверяется, если он юзит протокол с установлением длительного соединения: если соединился, но не отключался, то онлайн.
0
2 / 2 / 1
Регистрация: 29.06.2011
Сообщений: 45
07.07.2011, 17:46  [ТС] 8
а как узнать это? поподробнее можно... я понимаю что если кто то на сайте (юзит протокол) то он онлайн.
0
30 / 30 / 2
Регистрация: 09.04.2010
Сообщений: 60
12.07.2011, 13:54 9
А я бы отложил клиенту cookie файл какой нибудь и время от времени, скажем при навигации по страницам... других вариантов нет.. не забудь указать время жизни cookie и проверяй только при навигации по страницам. Если пользователь нифига не делает определенное время, значит кука сносится автоматом, если он лазит, значит активен, если только подключился в global.asax отложи ему куку... или лучше конечно через сессии, с той же логикой. напиши статический класс, и делай вызовы в Page_Load каждой страницы.. или лучше в MasterPage (Page_Load) если пользователь не активен определенное время, сессия закроется через 20 минут по умолчанию. Событие закрытие сессии сможешь отследить так же через global.asax варианты только такие..

Добавлено через 2 минуты
А еще для мазахистов, можешь трафик парсить и отбирать IP)))) IP клиента получаешь при первом подключении, а потом сравниваешь со всем контентом всех IP если такого нет в списке, значит его уже нет, но это неправильный подход, повесишь север, да и написать это не так то просто.. лучше через не управляемый код, быстрее будет... в общем советую забыть об этом
0
10 / 8 / 0
Регистрация: 07.01.2011
Сообщений: 34
13.08.2011, 14:43 10
C#
1
 if (HttpContext.Request.IsAuthenticated)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2011, 14:43

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как узнать в какой строке в данный момент выполняется приложение
Visual Studio 2015, c#. Собрал решение, получил exe, пользуюсь им (запуская через проводник). В...

Как узнать пароль юзера, который работает с компьютером в данный момент?
Situacija: ->Vkliucil komp -> vviol Login ('Vasia') i password 'Superman' -> zapustil VB...

Как при помощи VB можно узнать состояние соединения в данный момент?
Помогите, кто может… Исходные данные: в сети (50 компов) есть почтовый сервер (под NT 4.0) c...

Набор вкладок: как узнать, какая выбрана юзером в данный момент?
Народ! Перерыл все свойства Tab Control и не нашел ни одного, отвечающего за активную вкладку. Есть...

Как можно узнать используется ли файл в данный момент другой программой
Здравствуйте. Одна программа раз в несколько секунд пишет в файл некоторые параметры. Мне раз в...

Как узнать количество поситителей на сайте в данный момент и отобразить его?
Спасибо..


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.