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>
分享到:
相关推荐
Using BlazeDS and Flex integrated。
BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...
BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,使得后台的Java应用程序和运行在浏览器上的Flex应用程序能够相互通信。
使用BlazeDS实现Java和Flex通信
Flex技术本身和Java就有很强的关联性,它提供了一个基于Eclipse的IDE和BlazeDS.BlazeDS是个基于服务端的Java远程调用和Web消息的一个开源的技术。有许多应用都是以Java为后端处理的。Flex用于前端。由于Java和Flex...
blazeds.war blazeds
最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...
blazeds4整合spring3 这是我新近研究的方法 与整合spring2.5以下的方法有不同了,(看过一些教程觉得不是很好,用...适合新手入门和老手改用spring3来做项目。 如要交流可以加我:48724810 by焚香槟榔...2010/12/18
Spring BlazeDS Integration,Flex通过remoteObject与java通讯,附带例子 文档
包含blazeds.war blazeds-spring.war 以及解压后的blazeds,blazeds-spring文件夹, 可直接拷贝到javaee项目下的WebRoot文件夹下
Flex使用blazeds和java交互数据。 blazeds包和使用的详细步骤。 Flex blazeds 使用步骤、blazeds_bin_3-0-0-544.zip、blazeds.war、
Blazeds入门教程.doc
BlazeDS入门:HTTP Service BlazeDS入门:HTTP Service BlazeDS入门:HTTP Service
有问题可以去IT氧吧看看:http://www.ityangba.com,或许能找到答案哦 整合blazeds和spring需要的jar包 整合blazeds和spring需要的jar包
blazeDS war包及Flex结合blazeDS的入门程序及操作步骤比较适合入门选手
flex 工具 blazeds
blazeds与spring的结合使用项目源码
关于flex java整合的案例,使用BlazeDS或LCDS整合flex和java技术,带整合步骤图片
JAVA通过BlazeDS与FLEX通信 BlazeDS.zip java项目,使用MYECLIPSE导入 FlexJavaServer.fxp FLEX项目,使用FLASHBUILDER4.5导入
Flex Blazeds入门教程 写的很不错的教程