![]() |
Как узнать что пользователь покинул приложение?
Всем привет. интересует такой вопрос:
Как узнать что пользователь покинул приложение используя php. укажите в какую сторону рыть.. |
мгновенно... мне ничего кроме Socket в голову не приходит... но на простом хосте отключена поддержка сокетов для пхп да и "навечно" скрипт Вы не запустите.
Добавлено через 6 минут выход может быть такой: если на хосте есть CRON, и он нормальный, т.е. разрешено ставить расписание на запуск скрипта раз в минуту. То делайте тайм-аут. Флешка раз в 30 сек должна говорить серверу что она ещё тут. А сервер раз в минуту проверяет это. |
интересует вариант без сокет сервера..
т.е. вместо использования крона я могу и сам переодически говорить серверу что флешка ещё работает и если флешка не отметилась то пользователь закрыл приложение.. я правильно понял? |
без сокетов это видимо только, либо сервер проверяет тайу-аут, или если без крона, то сам пользователь может проверять других участников. Т.е. сам говорит что я ещё тут, обновляя время, и сканирует других участников в таблице
если база мускул, то как-то так можно: Код:
"SELECT *FROM timeout WHERE last_time < NOW() - INTERVAL 1 MINUTE" // все кто больше минуты не обновлял время |
а допустим мне надо для каждого клиента создавать сессию и в нее записывать последнее положение объекта при закрытии приложения, чтоб при запуске приложения объект появлялся в том же месте где был в последний раз..
вот собственно для этого мне и нужно узнать когда приложение закрылось.. может есть какие мысли по этому поводу? |
при каждом передвижение объекта надо сохранять его координаты на сервере.
положил шарик на полочку - передал данные на сервер. шагнул человечком в сектор "B12" -передал на сервер. повернул объект по часовой стрелке в положение 2 - передал на сервер. данные передаются сразу, а не при завершении работы приложения. |
long-polling с периодичным ответом сервера в случае неактивности - весьма жизнеспособное решение, да и базируется на обычных http-запросах.
|
Автор, кстати, не уточнил, что именно ему нужно.
Если нужно, чтобы сервер по запросу мог ответить, находится ли пользователь в онлайне, то действительно достаточно, чтобы клиент с определенной периодичностью пинговал сервер, подтверждая свою сессию. Хранить данные о сессии пользователя, на мой взгляд, лучше в кэше приложения (например, на Memcache). Если нужно, чтобы сервер предпринимал какие-либо действия, сразу после того, как пользователь вышел из приложения, то, пожалуй, на PHP тут эффективного решения нет. |
| Часовой пояс GMT +4, время: 21:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.