首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex Producer(盛产者)/Consumer(花费者)-转载

2012-11-23 
flex Producer(出产者)/Consumer(花费者)---转载在Flex中,传输形式有两种(哀求/响应)以及(公布/订阅)。Prod

flex Producer(出产者)/Consumer(花费者)---转载
在Flex中,传输形式有两种(哀求/响应)以及(公布/订阅)。

Producer(出产者)/Consumer(花费者),


Producer和Consumer利用Messaging的措施通信,显而易见是利用公布/订阅机制。

Producer用来公布消息,Consumer用来订阅消。例如:客户端向服务器订阅消息,当服务器消息发生改变后,订阅了该消息的客户端会获得更新后的消息并且及时更新。因而能够这一个性做出许多具有实时交互需求的利用过程,如谈天室、IM、会议室、在线股票等等… 消息公布组件–


Producer 常用属性:

1.id–Producer实例名。


2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目相称。


3.channelSet–供给对搭配给Producer的消息通道类的拜会。


4.autoConnect–万一为 true,则Producer将在第顺次调用 send() 措施时积极连接到其目标。万一为 false,定然显式调用 connect() 措施能力发生与目标的连接。默认情形下,此属性为 true,但必需在脱机形式下垄断的利用过程可能将此属性设置为 false,以遏止 send() 措施隐式连接。


5.connected–只读属性。指示Producer目前是否已穿越其ChannelSet连接到了其目标。


6.reconnectAttempts–在错过与目标的连接、可能连接到的目标关闭的情形下举行的重新连接试探次数。


7.reconnectInterval–重新试探连接之间间隔的毫秒数。


8.requestTimeout–设定对已发送消息的哀求超时(单位:秒)工夫。万一在到达超时之前未从长途目标收到确认、响应或讹谬,则消息将在客户端报错。


9.subtopic–利用的长途目标的子主题(subtopic)的拜会。


常用措施:

1.connect():void--将Producer 连接到其目标目标。发生连接时,connected 属性将改动为 true。


2.disconnect():void--断开Producer与其长途目标之间的连接。此措施不会期待未告终的网络垄断告终。调用 disconnect() 措施后,Producer报告其未连接,并且不会收就任何未告终的消息确认或讹谬。万一正在试探重新连接,断开连接会静止积极重新连接的试探。


3.send(message:IMessage):void--向其目标发送指定的消息。万一利用Producer公布/订阅消息递交,则除非利用自定义消息种类,并且服务器上的消息目标已搭配为处理自定义消息种类,否则只能够发送 AsyncMessage 种类的消息。


常用事件:

1.fault–发生消息讹谬时调动fault事件。


2.acknowledge–收到已发送消息确乎认收获时由MessageResponder调动。


3.channelConnect–与通道发生连接时调动。


4.channelDisconnect–与通道断开连接时调动。


5.channelFault–利用的通道揭示讹谬时调动。 Producer与disconnect所指的目标发生连接后connected属性将会被设置为true,


Producer每次调用public function send(message:IMessage):void措施发送消息前都会积极的去检测connected属性。


Producer利用send()措施发送一条消息后,发送获胜会积极调动acknowledge事件,发送失利则会积极调动fault事件,我们能够在事件侦听措施中做相应处理。万一client端与severs端因某种起因错过了连接,Producer则会依据reconnectAttempts和reconnectInterval的设置积极试探连接服务器。若reconnectAttempts设置为-1,Producer则会无限制的试探重新连接服务器;若reconnectAttempts设置为0则不试探任何重新连接服务器的垄断。


消息订阅和接收组件–


Consumer 常用属性:

1.id–Consumer实例名。


2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目相称。


3.channelSet–供给对搭配给Consumer的消息通道类的拜会。


4.connected–只读属性。指示Consumer目前是否已穿越其ChannelSet连接到了其目标。


5.subscribed–只读属性。指示Consumer目前是否处于订阅事态。


6.reconnectAttempts–在错过与目标的连接、可能连接到的目标关闭的情形下举行的重新连接试探次数。


7.reconnectInterval–重新试探连接之间间隔的毫秒数。


8.requestTimeout–设定对已发送消息的哀求超时(单位:秒)工夫。万一在到达超时之前未从长途目标收到确认、响应或讹谬,则消息将在客户端报错。


9.subtopic–利用的长途目标的子主题(subtopic)的拜会。


10.selector–字符串种类。Consumer的抉择器。


常用措施:

1.subscribe(clientId:String = null):void –订阅长途目标。


2.unsubscribe(preserveDurable:Boolean = false):void–从长途目标废止订阅。对于永远JMS subscriptions,这将摧毁 JMS 服务器上的永远订阅。


3.receive()–哀求在服务器上为此Consumer排队的所有消息。应仅对穿越非实时、非轮询通道订阅的Consumer利用此措施。万一未订阅 Consumer,此措施为无垄断。


4.disconnect()–断开Consumer与其长途目标之间的连接。应在废止订阅后利用过程不再必需的Consumer上调用此措施。此措施不会期待未告终的网络垄断告终,也不会向服务器发送废止订阅消息。调用disconnect()后,Consumer将报告它处于断开连接的废止订阅事态,因为它在重兴发生连接和重新订阅之前不会接收任何等它消息。万一正在试探重新订阅,断开连接会静止积极重新订阅的试探。


常用事件:


1.message–Consumer接收到消息时调动。


2.fault–发生消息讹谬时调动fault事件。


3.channelConnect–与通道发生连接时调动。


4.channelDisconnect–与通道断开连接时调动。


5.channelFault–利用的通道揭示讹谬时调动。 Consumer与disconnect所指的目标发生连接后connected属性将会被设置为true,利用其subscribe()措施获胜订阅消息后subscribed属性也会被设置为true。


当消息被发送到客户端,Consumer会积极调动message事件,我们能够在message事件侦听措施中做相应处理。万一client端与severs端因某种起因错过了连接,Producer则会依据reconnectAttempts和reconnectInterval的设置积极试探连接服务器。若reconnectAttempts设置为-1,Producer则会无限制的试探重新连接服务器;若reconnectAttempts设置为0则不试探任何重新连接服务器的垄断。Consumer利用其unsubscribe()措施吊销订阅。

热点排行