配置文件中配置 Channel 的代码片段:
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" 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>
<max-waiting-poll-requests>100</max-waiting-poll-requests>
<client-wait-interval-millis>
<piggybacking-enabled>
<login-after-disconnect>
<flex-client-outbound-queque-processor>
<serialization>
<connect-timeout-seconds>
<invalidate-session-on-disconnect>
<add-no-cache-headers>
</properties>
</channel-definition>
<properties> 中各项的具体含义:
关于一般轮询:
使用一般轮询需要在配置文件中设置 [polling-enable] 和 [polling-interval-seconds] 选项,或者无视配置文件直接在 Flex 中对 Channel 设置 pollingEnabled 和 pollingInterval 属性。一般轮询模式下,服务器对客户端的请求立即作出反应:如果消息队列中存在请求的消息则返回该消息否则返回一个空结果。
关于长轮询:
使用长轮询需要在一般轮询的配置基础上增加 [wait-interval-millis] ,[max-waiting-poll-requests] 和 [client-wait-interval-millis],其中最关键的是 [wait-interval-millis] 。在长轮询模式下,如果消息队列里不存在客户端要求的消息,那么服务器对于客户端的轮询并不立即作出响应,而是将该请求的响应挂起,进入等待状态。一旦该轮询请求的消息进入消息队列则处于等待状态的响应线程立即激活并传递消息给客户端。响应线程在等待状态下等待的最长时间由 [wait-interval-millis] 指定,endpoint 中可以同时存在多少个处于等待状态的响应线程由 [max-waiting-poll-requests] 指定,这个数量的设置需要充分考虑服务器对于的HTTP请求的最大负载。
BlazeDS的三种推模式:实时连接--能最敏捷的反映数据的变化,但客户端需要独占宝贵的连接资源,对服务器环境的要求最高;一般轮询--只能在特定周期上获取数据变化,请求完成后立即释放连接,比较节省服务器资源;长轮询--是前两者的折中方案,即不会长期占用连接,也能在一定程度上快速反映数据变化。选择哪种推模式需要在实际项目中根据具体需求做出选择。
分享到:
相关推荐
Flex + LCDS(Blazeds)+ Java 入门教程
flex+java的整合,包含LCDS和BlazeDS等算中方式
最近在搞flex,发现在flex与java进行通信是需要fds(lcds),下载大小比较大,而且仅仅需要里面的war包,非常麻烦,在网上找war包的下载也杳无音信,觉得应该做些事情为大家,免去冗余的下载,即见即得,反正都是open...
<br> 本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一...
Flex+J2EE+Lcds在myEclipse中的配置
Flex_J2EE_Lcds在myEclipse中的配置方法 详细
tomcat lcds 服务器 配置 学习笔记
关于flex java整合的案例,使用BlazeDS或LCDS整合flex和java技术,带整合步骤图片
本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一。
Flex+LCDS+Java入门教程,如何使用MyEclips进行配置
里面包含 blazeds.war 版本:blazeds-bin-4.0.0.14931 Flex + LCDS + Java 入门教程 在csdn下了一个免费的,报错,所以重新上传一个新并且带上一个简单明了的创建flex工程的教程,希望大家会喜欢.
BlazeDS是Adobe公司发布的免费开源产品,是该公司另一个收费产品LCDS的简化开源版本,BlazeDS使用Java语言在服务端提供如下功能: 1、提供客户端(Flex、AIR)通过AMF协议访问服务端(Java)数据的功能; 2、...
Flex LCDS flex.war就是lcds.war Flex+LCDS使用的war包
Adobe公司LCDS注册机,适用于LCDS早期版本,学习交流之用
lcds.war lcds.war lcds.war lcds.war lcds.war lcds.war lcds.war lcds.war
从官方安装包lcds31-win.exe中提取的lcds31.war。
lcds是用于来连接java数据库的哦!使用Flex 3 plugin+Eclipse+lcds 欢迎大家下载
本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一。...
Flash Builder4 下 LCDS + JAVA 配置方法详解 Flash Builder 4正式版+JAVA+LCDS ES2(LCDS3) Flash Builder 4 正式版已经出来,将一些遇到的问题总结出来。并已经解决,希望对大家有帮助。
flex需要用到的war包 flex.war lcds.war