加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

FlexClient, MessageClient, and FlexSession objects介绍

发布时间:2020-12-15 01:36:39 所属栏目:百科 来源:网络整理
导读:FlexClient ? 每一个 MXML 或者 AS 的 Flex 应用都被编译进 SWF 文件。当 SWF 文件和 Blazeds 服务通信的时候,一个 flex.message.client.FlexClient 对象就被创建,并在服务端代表这个 SWF 文件。 SWF 文件和 FlexClient 实例具有一对一的映射关系。 Blazed

FlexClient

?

每一个MXML或者ASFlex应用都被编译进SWF文件。当SWF文件和Blazeds服务通信的时候,一个flex.message.client.FlexClient对象就被创建,并在服务端代表这个SWF文件。SWF文件和FlexClient实例具有一对一的映射关系。Blazeds服务端为每个FlexClient实例生成一个唯一的标识id。在客户端也有一个单例类mx.message.FlexClient,用于存储这个唯一的FlexClient Id

?

MessageClient

?

如果某个Flex应用程序含有一个订阅组件(flex.message.Consumer),服务端就会创建一个相应的flex.messaging.MessageClient实例来代表这个订阅者的发布者。每个MessageClient都有一个唯一的clientId,可以自动由Blazeds服务端生成,也可以在调用Consumer.subscribe()方法之前指定这个Consumer.clientId属性。

?

FlexSession

?

FlexSession对象代表在Flex程序和Blazeds服务之间的连接。它的生命周期基于通道和端点使用的底层协议。如果是基于HTTP的通道,例如AMFChannel或者HTTPChannel,在Blazeds服务端就是浏览器范围。如果它连接的端点是一个基于servlet的端点,那么这个HTTP session是基于J2EE HttpSession 对象。

?

三者之间的关系

?

一个FlexObject对象可以拥有多个FlexSession实例,这取决于Flex应用使用的通道数。例如,一个程序使用了一个HTTPChannel,那么在Blazeds服务端一个FlexSession代表这个HTTP session就会被创建。

?

一个FlexSession也可以拥有一个或多个FlexClient和它关联。例如,a SWF file that uses an

HTTPChannel is opened in two tabs,BlazeDS服务端2FlexClient实例被创建(一个SWF文件一个),但是只有一个FlexSession,因为两个tab共享同一个HTTP session

?

?

每个订阅组件都会创建MessageClient。每一个MessageClient都会和一个FlexClient以及一个FlexClient关联。

?

?

关于三者的监听器

?

BlazeDS服务端提供了下列监听器,来让你根据自己的逻辑来创建、销毁、以及改变三者的状态。

?

FlexClientListener

?

FlexClientAttributeListener

?

FlexClientBindingListener

?

FlexSessionListener

?

FlexSessionAttributeListener

?

FlexSessionBindingListener

?

MessageClientListener

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读