选择端点
BlazeDS提供了下列基于servlet的通道、端点组合。使用安全协议 HTTPS 向 AMF 端点发送消息安全的通道和端点都以“Secure”开头;比如,SecureAMFChannel和SecureAMFEndpoint
|
描述
|
AMFChannel/AMFEndpoint
|
一对简单的通道/端点组合,基于HTTP协议,以异步请求、响应的模式通过二进制AMF格式传输数据。也可以配置一个通道,专门通过这个端点来轮询新消息。你可以为轮询配置一个较长的等待间隔,实现类似实时通讯。
|
HTTPChannel/HTTPEndpoint
|
提供同样的通道/端点行为,但是是通过XML代替AMF传输数据,称为AMFX格式化。它的速度没有AMFEndpoint快。
|
StreamingAMFChannel/StreamingAMFEndpoint
|
基于HTTP协议实时传递二进制格式数据流。在实时数据服务,例如消息服务的时候使用,因为数据流对性能来说是决定性的。
|
StreamingHTTPChannel/StreamingHTTPEndpoint
|
和streaming AMF 通道/端点提供同样的行为,但是是用XML代替AMF实现数据传输。它没有streaming AMF快。
|
AMF和HTTP通道都支持无轮询的请求/响应模式和客户端轮询模式(模拟实时通信),而AMF和HTTP流通道模式提供了真正的数据流实时模式
选择通道
基于你的应用需求,你可以选择简单AMF、HTTP通道以及基于非轮询、搭载式、轮询或者长轮询模式。当然你也可以选择streaming AMF、HTTP通道。
AMF和HTTP通道的最大不同就是前者基于二进制的AMF格式传输数据,而后者则是XML格式(AMFX)。因为AMF通道比HTTP通道性能要好,所以只有当你的应用有特殊需求的时候才适合使用HTTP通道(事先已经知道二进制格式不能在你的应用网络中传输或者想让数据在防火墙上更好理解)。
下面分别讲一下前面提到的几种模式:
1) 无轮询AMF、HTTP通道
你可以使用这些通道无轮询的方式来提供RPC 服务,比如远程服务调用、代理HTTP服务调用以及Web service请求。这些方案不要求客户端轮询信息或者服务端将消息“推”给客户端。
<!-- Simple AMF -->
<channel-definition id="samples-amf"
type="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:8400/myapp/messagebroker/amf"
type="flex.messaging.endpoints.AmfEndpoint"/>
</channel-definition>
<!-- Simple secure AMF -->
<channel-definition id="my-secure-amf"
class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:9100/dev/messagebroker/
amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
</channel-definition>
<!-- Simple HTTP -->
<channel-definition id="my-http"
class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:8400/dev/messagebroker/http"
class="flex.messaging.endpoints.HTTPEndpoint"/>
</channel-definition>
<!-- Simple secure HTTP -->
<channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">
<endpoint url=
"https://{server.name}:9100/dev/messagebroker/
httpsecure"
class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
</channel-definition>
2) 搭载式AMF、HTTP通道
搭载式确保独立于客户端发送信息到服务端或者服务端响应消息到客户端的数据传输。搭载式提供了轻量级的假轮询:一种比固定或者适当时间间隔轮询服务端更好的方式,s特别是当客户端发送一个非命令消息到服务器(使用一个生产者或RemoteObject对象)时,服务器发送任何未确定的数据到客户端或数据管理订阅随着客户端的信息响应。
也可以在一个需要确保轮询,但是间隔却比较长,例如5秒或者10秒甚至更多的通道中使用,在这种情况下,应用程序似乎更加敏感。这种模式下,客户端的轮询请求独立于任何其他消息发送给服务端
3) 轮询AMF、HTTP通道
AMF、HTTP通道提供了简单的轮询机制,客户端可以用这个机制定期发送请求消息到服务端。当长期轮询或者流通道不能使用时,或者作为一个流通道的备用通道时候,轮询AMF、HTTP通道是适用的。
<!-- AMF with polling -->
<channel-definition id="samples-polling-amf"
type="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:8700/dev/messagebroker/amfpolling"
type="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>8</polling-interval-seconds>
</properties>
</channel-definition>
<!-- HTTP with polling -->
<channel-definition id="samples-polling-http"
type="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:8700/dev/messagebroker/httppolling"
type="flex.messaging.endpoints.HTTPEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>8</polling-interval-seconds>
</properties>
</channel-definition>
注意:这种模式中你也可以使用secure通道。
4) 长轮询AMF、HTTP通道
当其他更加有效率的实时机制不合适的时候,你可以使用AMF和HTTP通道的长期轮询模式来“推”消息到客户端。 This mechanism uses the normal application server HTTP request processing logic and works with typical J2EE deployment architectures.这一机制的使用标准应用服务器的HTTP请求处理逻辑,并与典型的J2EE架构协同工作。
You can establish long polling for any channel that uses a non-streaming AMF or HTTP endpoint by setting the polling-enabled , polling-interval-millis , wait-interval-millis , and client-wait-interval-millis properties in a channel definition; for more information, see Simple channels and endpoints .您可以为任何通道建立长期轮询来使用相应端点,需要设置一下参数:polling-enabled、polling-interval-millis、wait-interval-millis、client-w ait-interval-mills。有关wait-interval-millis的更多内容请参考Blazeds文档。
<!-- Long polling AMF -->
<channel-definition id="my-amf-longpoll" class="mx.messaging.channels.AMFChannel">
<endpoint
url="http://servername:8700/contextroot/messagebroker/myamflongpoll"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>0</polling-interval-seconds>
<wait-interval-millis>60000</wait-interval-millis>
<client-wait-interval-millis>3000</client-wait-interval-millis>
<max-waiting-poll-requests>100</max-waiting-poll-requests>
</properties>
</channel-definition>
分享到:
相关推荐
flex插件安装;flex与java--Blazeds学习(配置)详解。
BlazeDs+FLEX配置指南,FLEX和BLAZEDS结合的配置的相关的说明。
BlazeDS配置指南 tomcat安装 xml配置 flex与blazeDs
spring与flex(blazeds)注解配置.doc
Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).doc
flex+java+blazeds配置最终版
blazeds配置步骤及源码,导入即可运行
flex_4 myeclipse_8 jdk_6 tomcat blazeds_4配置文档.doc
BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...
Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).pdf
Flex4+J2EE+Blazeds配置jspweb工程
BlazeDS 安装 配置过程,很详细, 不用多说你懂的!
简单的BlazeDS配置,简单的BlazeDS配置
Flex+JAVA+BlazeDS开发环境配置
Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用
flex使用blazeds与java通信配置说明,包括java使用spring框架,blazeds调用spring bean
MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,软件的下载请直接问 goole。 配置服务器端(MyEclipse + Tomcat 6.0 + BlazeDS)
BlazeDS配置文件说明
MyEclipse8.5+FlexBuilder4+Blazeds配置!