阐述了如何理解会话是否超时

发布于 2024-11-25 23:20:56 字数 439 浏览 2 评论 0原文

您好,我的目标是捕获会话何时失效,并将消息发送到 FlexClient 订阅的所有目的地,其中 id .... 的客户端已断开连接。

我实现了一个监听 sessionCretaed、sessionDestroyed、clientCreated、clientDestroyed、messageClientCreated、messageClientDestroyed 的服务。

问题是我想捕获 messageClientDestroyed 并向该目的地发送用户已断开连接的消息。但是当您添加子主题时,blazeds 会破坏 messageClient。那么如何理解会话是否无效并且所有 messageClient 都被销毁或用户只是进入另一个地方并为其消费者添加一个子主题。

我也愿意接受其他解决方案来实现该机制。当用户因会话超时断开连接或关闭站点浏览器等时,我想捕获它并向订阅的目的地发送消息。

谢谢。

Hi my aim is to catch when the session is invalidated and send message to all destination that the FlexClient subscribed that the client wiht id .... has disconnected.

I implemented a service which listens for sessionCretaed,sessionDestroyed,clientCreated,clientDestroyed,messageClientCreated,messageClientDestroyed.

Problem is that i want to catch messageClientDestroyed and send to that destination a message that the user has disconnected.But blazeds destroys messageClient when you add a subtopic.So how to understand that if session is invalidated and all messageClient are being destroyed or the user just enter another place and add a subtopic to his consumer.

I'am also open for other solutions to implement that mechanism.When user disconnected by session timeout or closed the site browser etc. i wanna catch it and send a message to subscribed destinations.

thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

江湖彼岸 2024-12-02 23:20:56

我不是这个主题的专家,但我相信您必须在 ad/c 之后调整 Flex 会话生命周期事件 FlexSessionListener。

如果您的客户因为想要离开而离开,则在 Flex 方面,您可以在 ChanelSet 上调用disconnectAll(),以便 Blaze DS 显式清理资源。

如果您的客户端由于超时而离开,您可以配置通道定义以使用 invalidate-session-on-disconnect = true

这两个应该触发 FlexSessionListner.sessionDestroyed()。此方法的参数是一个 FlexSession 对象,您可以在其中推断出您需要的内容。

I am not a master on this topic but I believe you have to tune into the Flex session lifecycle event, FlexSessionListener after a d/c.

If your client is leaving because they want to, on the flex side you invoke disconnectAll() on the ChanelSet so that Blaze DS will clean up resources explicitly.

If your client is leaving because of timing out, you can configure the channel definition to use invalidate-session-on-disconnect = true

These two should trigger the FlexSessionListner.sessionDestroyed(). The parameter for this method is a FlexSession object where you can extrapolate what you need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文