`
kaobian
  • 浏览: 212191 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

Flex3 的三种通信

阅读更多
最近看了一些关于flex3的一些学习资料,算是初级的接触了flex3,我介绍flex3的两种通信方式,一个是HTTPService,一个是LCDS(RemoteObject),其中网络说RemoteObject这种方式的通信是最快的, 我并没有去测试,我相信网络资源不会错的,还有一种通信方式是WebService,这个需要指定你操作的方法,我感觉和HTTPService区别也不是很大,也就没写。
那先介绍一下HTTPService方式通信:
后台代码:
public class Flex3 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");
		response.setHeader("Cache-Control","no-cache");
		PrintWriter out = response.getWriter();
		Integer num1 =  Integer.parseInt(request.getParameter("num1"));
		Integer num2 =  Integer.parseInt(request.getParameter("num2"));
		out.print(num1+num2);
		out.close();
	}

}

前台flex的代码:
引用


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="this.initDataSource()">

<mx:HTTPService id="flexWebservice1" url="flexServlet" method="POST" resultFormat="text" result="flexServiceHandler(event)">
<mx:request xmlns="">
<num1> {this.num1.text}</num1>
<num2> {this.num2.text}</num2>
</mx:request>
</mx:HTTPService>

<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.collections.ArrayCollection ;

[Bindable]
private   var dataSource:Array = new Array();

private   function initDataSource():void
{
this.dataSource.push("+");
this.dataSource.push("-");
this.dataSource.push("*");
this.dataSource.push("/");
this.list.dataProvider = dataSource;
}
private function requestServer():void
{
//Alert.show("nihao","flex第一次测试");
this.flexWebservice1.send();
}
private function flexServiceHandler(event:ResultEvent):void
{
    var returnData:String = String(event.result);
    this.result.text = event.result.toString();
}
]]>
</mx:Script>

<mx:VBox>
<mx:HBox>
<mx:TextInput id="num1" name="num1" width="100">
</mx:TextInput>
<mx:Label  text="+"  width="100">
</mx:Label>

<mx:List x="126" y="-2" width="59" height="46" id="list"  dropEnabled="true" allowMultipleSelection="false" >

</mx:List>

<mx:TextInput id="num2" name="num2"  width="100">
</mx:TextInput>
<mx:Label  text="="  width="100">
</mx:Label>
<mx:TextInput id="result" name="result"  width="100">
</mx:TextInput>
<mx:Button label="submit" click="this.requestServer()"  width="100">
</mx:Button>
</mx:HBox>
</mx:VBox>

</mx:Application>

web.xml的配置我就不写了,我用到 是servlet来写的这么一个小程序,只是简单的介绍一下flex的通信方式
--------------------------------------下面谈谈lcds远程对象这种通信 方式,因为lcds是免费的,所以介绍 这个,还有一个是 blanzed ,那个是收费的
前台代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.rpc.events.ResultEvent;
			import mx.controls.Alert;
			import com.test.model.Person;
			
			private function buttonClick():void
			{
				var value:String = this.username.text;
				
				this.testService.sayHello(value);
			}
			
			private function clickHandler(event:ResultEvent):void
			{
				var str:String = String(event.result);
				
				Alert.show(str);
			}
		]]>
	</mx:Script>
	
	
	<mx:RemoteObject id="testService" destination="testService">
		<mx:method name="sayHello" result="clickHandler(event);" />
	</mx:RemoteObject>
	
	<mx:HBox>
		<mx:TextInput id="username" width="120"/>
		<mx:Button label="click me" width="120" click="buttonClick();"/>
	</mx:HBox>
	
	
</mx:Application>



后台代码:
public class TestService
{
	public String sayHello(String name)
	{
		System.out.println(name);

		return "Hello: " + name;
	}
}


这里有一个最重要的配置文件,就是 web-info  目录先  felx下的remoting-config.xml这个文件
我的配置是:
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" 
    class="flex.messaging.services.RemotingService">

    <adapters>
        <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>
    
    <destination id="testService">
    	<properties>
    		<source>com.test.service.TestService</source>
    	</properties>
    </destination>
    
</service>


如何安装lcds 我在另外一讲中在具体的说
1
1
分享到:
评论
3 楼 kaobian 2011-07-21  
一楼的兄弟说的对,LCDS是收费的,我今天收到邮件通知我还有50天的试用期,呵呵 很尴尬
2 楼 kaobian 2011-07-21  
inotgaoshou 写道
:roll: 下面谈谈lcds远程对象这种通信 方式,因为lcds是免费的,所以介绍 这个,还有一个是 blanzed ,那个是收费的 ,楼主说反力吧。lcds是收费到,blazed是免费到。

哈哈,那也许是我搞错了,我再 查查,如果我错了,我深感尴尬。嘻嘻....
1 楼 inotgaoshou 2011-07-20  
:roll: 下面谈谈lcds远程对象这种通信 方式,因为lcds是免费的,所以介绍 这个,还有一个是 blanzed ,那个是收费的 ,楼主说反力吧。lcds是收费到,blazed是免费到。

相关推荐

    Flex与Java实现通信

    Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,广泛应用于构建复杂的Web应用程序。而Java作为后端开发的主要语言之一,如何实现Flex与Java之间的高效通信成为了一个重要的课题。本文将详细介绍...

    flex与java通信

    在Flex和Java之间进行通信时,通常会用到两种主要技术:AMF(Action Message Format)和SOAP(Simple Object Access Protocol)。AMF是一种二进制协议,用于提高数据传输效率,而SOAP则是基于XML的标准协议,更适用...

    flex3 java 通信

    Flex3与Java之间的通信是开发跨平台Web应用时的一个重要技术环节。Flex是Adobe公司推出的一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA)。而Java则是一种广泛使用的后端开发语言,能处理复杂...

    Flex与服务器端通信

    3. **C#服务器端配合Flex通信** - **C#与AMF**:在C#中,可以使用第三方库如AMF.NET或Rediska.NET来实现AMF通信协议,使得C#服务器能够理解并处理Flex客户端发送的AMF消息。 - **服务端接口设计**:为了与Flex的...

    FLEX 与现有开发语言的通信全面解析

    三、Flex与PHP的通信:在PHP环境中,Flex通常使用HTTPService或WebService组件与PHP进行通信。HTTPService可以发送HTTP GET或POST请求,而WebService则处理基于SOAP协议的服务调用。此外,PHP还可以使用AMF-PHP库来...

    Flex Module间通信

    要实现Flex模块间的通信,有几种主要方法: 1. **事件机制**:这是最常用的方式。通过发布和监听自定义事件,模块间可以传递消息。例如,一个模块可以通过`.dispatchEvent()`方法发布事件,并在其他模块中使用`...

    flex4与Java通信实例

    在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及WebService。 1. Flex 与普通 Java 类通信 - RemoteObject 在Flex中,RemoteObject组件用于与Java服务端的普通类进行通信。...

    Flex通信-Java服务端通信实例

    Flex通信-Java服务端通信实例主要探讨的是在Web开发中,如何使用Adobe Flex与Java后端进行交互。Flex是一款强大的富互联网应用程序(RIA)开发工具,它可以创建动态、交互式的用户界面,而Java则通常作为服务器端的...

    flex+as3 聊天及wsdl通信

    AS3是ActionScript的第三版,是Flex应用的主要编程语言,提供了面向对象的特性,如类、接口和继承。在Flex中,你可以用MXML定义UI组件,而AS3则负责处理逻辑和数据操作。 2. Flex聊天应用: 在Flex中构建聊天应用...

    flex3d效果展示

    Flex3D基于ActionScript 3,这是一种面向对象的编程语言,用于在Flash Player或Adobe AIR环境中运行。ActionScript 3提供了比其前身ActionScript 2更高的性能和更严谨的语法,使得开发3D应用变得更加高效。Flex3D库...

    flex 与 js 通信的小例子

    3. 应用场景:这种通信方式可以应用于多种场景,如用户界面的更新、数据交换、事件触发等。例如,当用户在JavaScript中执行某些操作后,可以通知Flex应用进行相应的处理;或者从Flex应用获取数据并在JavaScript中...

    flex于java web通信方式,总结文本文件

    根据提供的文件信息,本文将对Flex与Java Web之间的通信方式进行详细的阐述,并重点解析文本文件中的配置及其实现机制。 ### Flex与Java Web通信概述 Flex是Adobe推出的一种用于开发RIA(Rich Internet ...

    Flex 的socket通信

    Flex中的Socket通信是一种基于TCP协议的低级别网络通信方式,它允许客户端应用程序与服务器进行双向数据传输。在Flex中,我们可以使用ActionScript的Socket类来实现这一功能。下面将详细介绍Flex Socket通信的相关...

    flex3使用说明

    Flex3 可以与 Java 后台进行通信,并与 FusionCharts 结合使用,实现数据可视化。下面是 Flex3 的详细介绍: 一、Flex 简介 Flex 是一个高效、免费的开源框架,用于构建具有表现力的 Web 应用程序。这些应用程序...

    Flex如何连接数据库,通信的详细的教程

    Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,它允许开发者创建交互性强、用户体验良好的Web应用。本教程将详细讲解如何使用Flex与数据库进行通信,包括连接MySQL数据库,...

    Flex Socket与C#通信

    Flex是Adobe开发的一种富互联网应用程序(RIA)开发框架,基于ActionScript 3.0,它可以创建具有动态图形和交互性的Web应用。Socket接口是Flex中用于网络通信的基础组件,允许客户端与服务器进行双向数据流通信。在...

    WEB项目集成Flex3功能

    在集成Flex 3到Web项目时,通常有以下三种方式: 1. **各自独立开发**:Flex和Web应用分开开发,通过HTTP或AMF(Action Message Format)进行通信。 2. **Flex项目集成WEB功能**:Flex作为前端,与后端Web服务进行...

    flex与java通信的完整demo

    包含的`flex_3_with_java.pdf`可能是详细的教程文档,涵盖了Flex与Java通信的基础知识和技术细节。`flexdemo.rar`可能是源代码示例,帮助开发者理解并实践这些概念。 9. **应用场景** 这种通信方式常用于实时股票...

    Flex 3开发指南

    #### 三、Flex 3 基础知识 - **MXML**:一种基于XML的标记语言,用于定义Flex应用程序的界面布局和交互逻辑。 - **ActionScript 3.0**:一种强大的面向对象编程语言,Flex 3主要使用此语言来编写业务逻辑和实现复杂...

Global site tag (gtag.js) - Google Analytics