BlazeDS中channel和Endpoint

channels是封装了flex客户端与blazeds服务器之间的连接行为的客户端对象。管道可与blazeds服务器上的相应的端点通讯。

(注:个人见解------管道是在客户端监听着连接,是客户端与服务端通讯的入口 ,而端点是在服务端监听着连接,是服务端的入口,管道的出口。客户端的数据都通过 管道输送到对应端点 ,相当于客户端建立管道连接后的出口,管道的出口只对应着与它相应的端点。

 客户端管道发封装的消息给服务端端点,端点解析数据后,把数据发给MessageBroker,MessageBroker把消息路由给恰当的目的地。

Channels分为AMF Channel和HTTP Channel:

AMF Channel用二进制的AMF格式(用二进制来代表该协议)传输数据,HTTP Channel用AMF(使用基于文本的xml格式来代表该协议)传输数据。 


flex客户端的管道配置:

1 <mx:ChannelSet id="channelSet">
2 <mx:AMFChannel id="amfChannel" url="http://localhost:8080/blazeDsTomcat/blazeDs/bobo"/>
3 </mx:ChannelSet>
4
5 <mx:RemoteObject id="srv" destination="language" channelSet="{channelSet}"/>

即只要告诉管道,你要跟谁通讯,目的端点(URI)是什么,然后在客户端组件使用管道,管道就会自动和服务端建立连接,并与对应的资源交流数据 ,而不需要客户端程序员去编码说明连接的动作,连接的方法,连接后传输的数据格式等,这些都由管道帮你封装解决好了。

不同的servlet其实就是内置的编码器和解码器不同,可对请求用自己的解码器分析。

posted @ 2012-03-01 13:36  Panda.Xiong  阅读(444)  评论(0编辑  收藏  举报