Узнать кто онлайн в приложении

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Узнать кто онлайн в приложении

Сообщение Dmitry » 10 июн 2010, 20:49

Как мне узнать кто из юзеров сейчас в приложении? База юзеров есть
Аватара пользователя
Dmitry

 
Автор темы
Сообщения: 70
Зарегистрирован: 05 дек 2009, 13:51
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Узнать кто онлайн в приложении

Сообщение совесть » 10 июн 2010, 22:49

можно создать глобальную сессию в пхп и туда писать всех юзеров, и проверять, посылает ли он запрос серверу. если ответа нету, то оффлайн.



у апи есть сессии, с которыми мне надо разобраться(мало что понял из документации), там наверно проще будет.
ERROR 402, NO BEER
Аватара пользователя
совесть
Разработчик
Разработчик
 
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58
Откуда: Санкт-Петербург
Благодарил (а): 4 раз.
Поблагодарили: 16 раз.

Re: Узнать кто онлайн в приложении

Сообщение Noise Gate » 11 июн 2010, 09:13

В принципе, можно сделать поле в базе данных, где указывать время последнего запроса. С большой долей вероятности те, у кого это время максимально приближено к текущему, будут онлайн.
Noise Gate

 
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34
Откуда: СПб
Благодарил (а): 31 раз.
Поблагодарили: 64 раз.

Re: Узнать кто онлайн в приложении

Сообщение Влад » 11 июн 2010, 20:41

У меня на пример поле, где по умолчанию 0, если юзер делает что-то то ставится 1, на крон поставлена выдача статуса "0" каждую минуту, вроде всё элементарно и работает безотказно!
https://beget.com/p66748 - самый оптимальный хостинг в рунете, все мои сайты там!
Аватара пользователя
Влад
Модератор
Модератор
 
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24
Благодарил (а): 26 раз.
Поблагодарили: 58 раз.

Re: Узнать кто онлайн в приложении

Сообщение Dmitry » 12 июн 2010, 09:59

вот метод Влада мне нравится
Аватара пользователя
Dmitry

 
Автор темы
Сообщения: 70
Зарегистрирован: 05 дек 2009, 13:51
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.

Re: Узнать кто онлайн в приложении

Сообщение Влад » 12 июн 2010, 18:27

Dmitry чем проще механизм, тем надёжнее его работа!
https://beget.com/p66748 - самый оптимальный хостинг в рунете, все мои сайты там!
Аватара пользователя
Влад
Модератор
Модератор
 
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24
Благодарил (а): 26 раз.
Поблагодарили: 58 раз.

Re: Узнать кто онлайн в приложении

Сообщение donatas » 13 июн 2010, 00:08

cron каждую минуту? о_О +каждую минуту обновлять всех юзеров?которые даже не заходили месяц в приложение? это как забивать микроскопом гвозди ))
имхо правильнее будет,как писали выше - добавить поле в которое писать текущее время при каждом обращении клиента к серверу
когда нужно получить список "онлайн" юзеров - делается запрос из базы, где в условиях описывается параметр последнего обращения - брать все,где он больше "текущее время - 1мин"
что-то типа:
  1. $curtime    = strtotime('now')-600;
  2. SELECT * FROM users_online WHERE lastvisit>$curtime ORDER BY lastvisit DESC LIMIT 100

еще и будут отсортированы по времени :)
donatas

 
Сообщения: 14
Зарегистрирован: 11 июн 2010, 12:53
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Узнать кто онлайн в приложении

Сообщение bodnar » 13 июн 2010, 06:39

donatas писал(а):каждую минуту обновлять всех юзеров?которые даже не заходили месяц в приложение?

а изобрести запрос который всем пользователям в поле online поставит 0 невозможно? 1 запрос к бд в минуту, пустяки.
Другой вопрос это то что пользователь 2 секунды назад сделал действие и теперь минуту ничего делать не собирается, и он практически всегда буит offline, поэтому сравнивать время предпочтительнее)

donatas писал(а):еще и будут отсортированы по времени :)

чтобы выяснить кто онлайнее? :lol: :lol: :lol:
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

Re: Узнать кто онлайн в приложении

Сообщение donatas » 13 июн 2010, 11:35

1 запрос к бд в минуту, пустяки.

1 запрос - да,а вот запуск крона каждую минуту - это уже даст о себе знать, + не каждый хостер даст это делать,минимум минут 5-10 разрешит))

в Вашем варианте
1 - запрос - ставим всем нули в базе
2 - при заходе каждый юзер ставит "1" при обращении
3 - делаем выборку
------ итого 3 запроса
в моем
1 - юзер записывает данные
2 - делаем выборку
------ итого 2 запроса ))
чтобы выяснить кто онлайнее?

нет,но зачастую после выяснения "кто в онлайне" - эта инфа куда-то выводится, например в чате,в таком случае можно например по имени их отсортировать
.... ORDER BY user_name DESC LIMIT 100

хотя думаю на маленьких базах разницы заметно не будет :)
donatas

 
Сообщения: 14
Зарегистрирован: 11 июн 2010, 12:53
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Узнать кто онлайн в приложении

Сообщение совесть » 13 июн 2010, 14:32

приложение очень всем понравилось, все решили в него играть.

итого, где-то по 50000 запросов в минуту к базе. хостинг вряд ли крутой, поэтому бах, и всё.

по-моему, проще создать глобальную сессию и пихать всех в массив, кто не запрашивает скажем 1 минуту, того удаляем из массива.
ERROR 402, NO BEER
Аватара пользователя
совесть
Разработчик
Разработчик
 
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58
Откуда: Санкт-Петербург
Благодарил (а): 4 раз.
Поблагодарили: 16 раз.

След.

Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron