Блазит, как понять, истекло ли время сессии - PullRequest
1 голос
/ 25 июля 2011

Привет, моя цель - поймать, когда сеанс признан недействительным, и отправить сообщение всем адресатам, на которые подписан FlexClient, что клиент с идентификатором .... отключился.

Я реализовал сервис, который прослушивает sessionCretaed, sessionDestroyed, clientCreated, clientDestroyed, messageClientCreated, messageClientDestroyed.

Проблема заключается в том, что я хочу перехватить messageClientDestroyed и отправить этому месту назначения сообщение, которое пользователь отключил.чтобы понять, что если сессия недействительна и все messageClient уничтожаются, или пользователь просто входит в другое место и добавляет подтему к своему потребителю.

Я также открыт для других решений для реализации этого механизма. Когда пользователь отключенпо тайм-ауту сеанса или закрытию браузера сайта и т. д. Я хочу поймать его и отправить сообщение подписанным адресатам.

спасибо.

1 Ответ

1 голос
/ 25 июля 2011

Я не являюсь мастером в этой теме, но я считаю, что вам нужно настроиться на событие жизненного цикла сеанса Flex, FlexSessionListener после d / c.

Если ваш клиент уходит, потому что хочет, на гибкой стороне вы вызываете disnectAll () в ChanelSet, чтобы Blaze DS явно очистил ресурсы.

Если ваш клиент уходит из-за истечения времени ожидания, вы можете настроить определение канала для использования invalidate-session-on-disconnect = true

Эти два должны вызывать FlexSessionListner.sessionDestroyed (). Параметром для этого метода является объект FlexSession, где вы можете экстраполировать то, что вам нужно.

...