`

flex temoting

    博客分类:
  • flex
阅读更多

Flex 的Remoting采用AMF通信协议(Flex3已经升级为了AMF2了),这种协议最大的一个优势就是由于采用了二进制的传输方式,其传输效率非常 高,可以让我们在复杂的网络环境获得良好的性能。根据国外一个很牛的老外写的在线测试工具,AMF协议的效率要远远高于webservice以及采用 JSON格式承载数据的AJAX方式。  Flex的另一种方式通信就是PollingChannel,它的特点就是它可以多批次的去服务端取数据,而不是长时间保持连接直到所有数据取回之后才关闭我们宝贵的HTTP连接。

       首先我们在WEB-INF下面的Class目录中添加一个JAVA类,如下:

     public class HelloWorld {
         private String userSaid;
        public String repeat( String said) {
            this .userSaid = "Reply from server: " + said;
            return this .userSaid ;
        }
        public String sayHello( ) {
        Date now = new Date ( ) ;
        return "Hello World " + now;
     }
  }

        然后我们打开Remoting-Config.xml文件,在service中添加一个目的地指向我们服务端的JAVA类(destination节点),具体如下:

        <service id ="remoting-service" class ="flex.messaging.services.RemotingService" >
        <adapters>
        <adapter-definition id ="java-object" class ="flex.messaging.services.remoting.adapters.JavaAdapter" default ="true" > </adapter-definition>
       </adapters>
     
<destination id ="Hello" >
       <properties>
         <source> HelloWorld</source>
       </properties>
      </destination>
    <default-channels>
        <channel ref ="my-amf" >
    </channel>
</default-channels>
</service>

       添 加完成之后,我们打开一个flex页面,在上面添加一个RemotObject标签,当然你也可以在可视化状态下拖一个上去,然后添加我们刚才在 HelloWorl类中定义的两个方法,并在AS代码块中定义两个回调方法用来异步接收返回的结果或发生的异常,具体代码如下:

       <mx:application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundcolor ="#FFFFFF" viewsourceurl="srcview/index.html" >
    <mx:remoteobject id="myservice" fault="faultHandler(event)" showbusycursor="true" destination="Hello" >
        <mx:method name ="sayHello" result="resultHandler(event)" >
        <mx:method name ="repeat" result="resultHandler(event)" >
    </mx:method>
 
    <mx:script>
        <!–[ CDATA[
            import mx.managers .CursorManager ;
            import mx.rpc .events .ResultEvent ;
            import mx.rpc .events .FaultEvent ;
            private function faultHandler( fault:FaultEvent) :void
            {
                CursorManager.removeBusyCursor ( ) ;
                result_text.text = "code:n" + fault.fault .faultCode + "nnMessage:n" + fault.fault .faultString + "nnDetail:n" + fault.fault .faultDetail ;
            }
 
            private function resultHandler( evt:ResultEvent) :void
            {
                result_text.text = evt.message .body .toString ( ) ; // same as: evt.result.toString();
            }
        ] ] –>
    </mx:script>
 
    <mx:button x="250" y="157" label="sayHello" width ="79" click="myservice.getOperation(’sayHello’).send();" >
    <mx:button x="250" y="187" label="Repeat" click="myservice.getOperation(’repeat’).send(myText.text); " >
    <mx:textarea x="10" y="36" width ="319" height ="113" id="result_text" >
    <mx:label x="10" y="10" text ="Result:" >
    <mx:textinput x="82" y="187" id="myText" text ="Sent to Server" >
</mx:textinput>
</mx:label>

</mx:textarea> </mx:button></mx:button></mx:method></mx:remoteobject></mx:application>

     做好之后,激动人心的时刻来临了,  F11运行,现在你就可以尽情的与服务端发消息了。注意,JAVA类的序列化与反序列化对我们来说都是透明的,这一切都是FLEX与Blazeds为我们做的。这就是它们带给我们的好处,让我们将重点放在业务逻辑与用户更好的操作性与体验上。

分享到:
评论

相关推荐

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...

    Flex万年历记事本_flex源码

    Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...

    flex事件flex事件flex事件flex事件

    在前端开发领域,Flex布局(Flexible Box)是现代网页设计中的一个重要组成部分,它极大地提高了我们构建响应式和动态布局的能力。"flex事件"这个概念可能指的是与Flex布局相关的JavaScript事件或者是在Flex容器中...

    Flex简介Flex简介Flex简介Flex简介

    Flex是Adobe公司推出的一种用于构建富互联网应用(Rich Internet Applications,简称RIA)的技术产品,它主要服务于企业级应用开发。Flex旨在提供一个强大的工具集,用于创建具有高度交互性和视觉吸引力的用户界面,...

    FLEX特效FLEX特效FLEX特效FLEX特效

    Flex特效在IT行业中主要指的是Adobe Flex,它是一个用于构建富互联网应用程序(RIA)的开源框架。Flex使用MXML和ActionScript编程语言,可以创建交互性强、视觉效果丰富的Web应用程序。在网页设计和开发中,Flex特效...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    Flex资料大全(Flex白皮书 Flex cookbok Flex编程指南 Flex设计模式等)

    本资料大全包含了多个重要的Flex学习资源,如Flex白皮书、Flex Cookbook以及Flex编程指南,这些都是深入理解Flex开发不可或缺的文献。 1. **Flex白皮书**: Flex白皮书是Adobe官方发布的技术文档,通常包含Flex...

    Flex 组件Flex 组件Flex 组件

    Flex组件是Adobe Flex框架的核心部分,它是一组预先构建的用户界面元素,用于构建富互联网应用程序(RIA)。Flex组件库提供了丰富的控件集合,包括按钮、文本框、列表、面板等,使得开发者能够轻松创建具有交互性和...

    FLEX网站源码 FLEX网站源码 FLEX网站源码

    Flex是Adobe公司开发的一种富互联网应用(Rich Internet Application,RIA)框架,主要用于构建运行在浏览器上的交互式应用程序。Flex以其强大的MXML和ActionScript编程语言,以及基于Flash Player或Adobe AIR运行时...

    flex画线flex画线flex画线flex画线

    Flex布局是一种在Web开发中广泛使用的CSS布局模式,它允许开发者灵活地对元素进行排列、对齐和分配空间。在“flex画线”的场景中,我们通常是指利用Flexbox( Flexible Box 或 Flex 布局)来创建各种线性结构,如...

    flex学习笔记 flex学习总结 flex学习教程

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...

    记事万年历flex源码

    【标题】"记事万年历flex源码"所涉及的知识点主要集中在Adobe Flex技术和日历应用程序开发上。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA)。它允许开发者使用MXML和ActionScript来创建...

    flex设计模式flex设计模式flex设计模式

    flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式

    flex 官方文档 中文教程

    Flex是由Adobe公司开发的一种开放源码的富互联网应用程序(RIA)框架,主要用于构建和部署跨平台、跨浏览器的互动用户界面。本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的...

    flex-2.6.4.tar.gz

    Flex是开源的、高度可移植的词法分析器生成器,用于创建处理结构化文本或二进制文件的扫描器。这个"flex-2.6.4.tar.gz"文件是Flex 2.6.4版本的源代码压缩包,遵循GNU General Public License (GPL)发布。在Linux和类...

    flex_api (FLEX接口)

    Flex API 是一种软件开发接口,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA),它由Adobe公司开发,用于提供强大的图形和交互性功能。在本文中,我们将深入探讨Flex API的核心概念、主要...

    Flex3与Flex4对比

    ### Flex3与Flex4对比分析 #### 一、概述 随着技术的发展,Adobe Flex平台也在不断进化以满足日益增长的应用需求。本文旨在详细介绍Flex3与Flex4之间的主要区别,特别是Flex4相较于Flex3的新功能与改进之处。通过...

    flex-2.6.0.tar.gz

    Flex是开源的、高度可移植的词法分析器生成器,专门用于创建处理文本输入流的解析器。这个“flex-2.6.0.tar.gz”文件是一个针对Flex 2.6.0版本的源码压缩包,适用于Unix/Linux类操作系统。在Linux环境中,我们通常会...

    flex实战项目,flex开发

    Flex是Adobe公司推出的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,...

    flex皮肤flex皮肤

    Flex皮肤是一种专为Adobe Flex应用程序设计的用户界面样式。Flex是一个开源框架,用于构建富互联网应用程序(RIA),它使用ActionScript编程语言和MXML标记语言。在Flex中,皮肤是可定制的外观组件,允许开发者根据...

Global site tag (gtag.js) - Google Analytics