Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка запроса при закрытии окна браузера 
:(
    Опции темы
altermann14
Дата 18.7.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.7.2010

Репутация: нет
Всего: нет



Здравствуйте.

Пишу клиент - серверное приложение. Клиент на flex 4, сервер на php.
По сути - чат, на сервере хранятся id активных комнат, id пиплов, которые в сети и прочая инфа.

Проблема в том, что надо как-то удалять юзверей из списка on-line, когда они закрывают браузер или переходят на другой сайт.

Нашел JSInterface, который перехватывает JavaScript события, но с ним две проблемы:
1) при закрытии браузера блокируются все запросы из приложения (а это самое главное)
2) оно тупо у меня не заработало, я даже не стал разбираться, потому что 1 условие уже делает невозможным использование этой штуки.

Вот вопрос: как передать на сервак какой-либо запрос из приложения при закрытии браузера или переходе на другой сайт?

Спасибо.
PM MAIL   Вверх
ksnk
Дата 18.7.2010, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



altermann14, вообще говоря - никак.
Можно вписывать автоматически время выхода юзера +10 минут от последней активности. проверять в онлайне или нет - если время "выхода" не больше текущего времени.

В принципе, в JS есть событие onunload и onbeforeunload, которые обрабатываются броузерами достаточно одинаково, хотя и в меру своего понимания. На них можно повесить синхронный ajax запрос - "выход юзера", но если клиент просто тупо закрыл броузер,  такие события могут не возникать вообще.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
altermann14
Дата 18.7.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.7.2010

Репутация: нет
Всего: нет



Спасибо, примерно так и думал..... жаль, просто ели много юзверей и много комнат, то нагрузка может быть большая на серв......
PM MAIL   Вверх
IDVsbruck
Дата 31.7.2010, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: нет
Всего: 22



Если нужно реал-тайм приложение, то только соответствующие server-push-протоколы, благо, флеш и особенно флекс это очень неплохо умеют. Все остальное - от лукавого ... onunload и onbeforeunload - некроссбраузерно и не гарантийно - экстренное закрытие окна не отошлет запрос. Делать по неактивности - кустарно, да и зачем, когда есть слушатели сессий - ставишь длину сессии в 10 минут и просто отлавливаешь ее падение. Но это а) когда не надо срочно; б) не очень удобно, так как если пользователь 10 минут не трогает клаву/мышку, то вылетает. Одним словом - нужно больше инфы, чтобы угадать с ответом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flex | Следующая тема »


 




[ Время генерации скрипта: 0.1312 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.