- 浏览: 1454377 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
[AS3]AMF3+JAVA的调用范例
amf是Adobe独家开发的数据封装格式,Flash可以直接访问,由于它是基于二进制的数据传输,所以相对于xml SOAP、json、webService等基于字符串的数据格式,有数据体积小和效率高的特点。
amf目前有AMF0和AMF3两种格式,flash8以前版本只支持AMF0,flash9支持两种格式。AMF3比AMF0效率更高。
调试环境:
1、JDK 1.5
2、Resin 3.0
3、Flash CS3
4、flex-messaging-core.jar和flex-messaging-common.jar(这两个jar包文件可在Adobe的开源项目BlazeDS
中找到)
Flash客户端代码:
- /**
- * ...
- * @author Kinglong
- * @version 0.1
- */
- package project.test {
- import flash.display.*;
- import flash.events.*;
- import flash.net.*;
- import flash.utils.*;
- public class TestAMF extends Sprite {
- private var _loader:URLLoader;
- public function TestAMF() {
- trace( "TestAMF" );
- _loader = new URLLoader();
- _loader.dataFormat = URLLoaderDataFormat.BINARY;
- _loader.addEventListener(Event.COMPLETE, loaderHandler);
- _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loaderHandler);
- _loader.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler);
- var request:URLRequest = new URLRequest( "http://localhost:8080/ajax/servlet/test" );
- _loader.load(request);
- }
- private function loaderHandler(event:*): void {
- trace(event.type);
- switch (event.type) {
- case Event.COMPLETE:
- var start:Number=getTimer();
- var byte :ByteArray = _loader.data as ByteArray;
- byte .uncompress();
- var obj:Object = byte .readObject();
- var end:Number=getTimer();
- trace( "耗时:" + (end - start) + "毫秒" );
- trace(obj.fullName);
- break ;
- }
- }
- }
- }
Java服务端代码
- import java.io.*;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.zip.*;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import flex.messaging.io.*;
- import flex.messaging.io.amf.*;
- public class TestServlet extends HttpServlet {
- private static final long serialVersionUID = -1079073749217155506L;
- private SerializationContext context = new SerializationContext();
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws
- ServletException, IOException {
- response.setContentType( "application/x-gzip-compressed" );
- Amf3Output out = new Amf3Output(context);
- DeflaterOutputStream stream = new DeflaterOutputStream( new DataOutputStream(response.getOutputStream()));
- out.setOutputStream(stream);
- Map map = new HashMap();
- String[] arr = "1,2,3,4,5" .split( "," );
- map.put( "datas" , arr);
- map.put( "userName" , "kinglong" );
- map.put( "fullName" , "金龙工作室" );
- map.put( "domain" , "klstudio.com" );
- out.writeObject(map);
- stream.finish();
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws
- ServletException, IOException {
- doPost(request, response);
- }
- }
因为AS3中的ByteArray支持zlib数据压缩和解压,所以我在服务端代码里增加数据压缩。
AMF3很适合Flash和后台服务端的数据交换,我写了这个范例,希望能给大家一参考。
发表评论
-
Apache FlexJS 0.0.1 和 Apache Flex FalconJX 0.0.1发布
2015-11-01 19:44 558原文地址:http://note.sdo.com/u/634 ... -
Flash Catalyst 常用键盘快捷键
2011-03-28 15:38 1069转自:http://www.riameeting.com/ ... -
8款很实用的Actionscript写的位图(BitMap)操作类
2011-03-24 12:09 1948AS3 Scale9 Bitmap ... -
VC++ 项目中使用 FLEX
2011-03-24 09:13 19521, http://hi.baidu.com/qinpc/ ... -
flex应用开发/flash应用开发 代做flash作业/flex作业
2011-01-09 20:37 347专业承接flex应用开发/flash应用开发 ... -
脑袋里的秘密,输入姓名就可以知道你在想什么! flex版
2010-12-29 11:34 2551输入名字就可以知道她/他在想什么的工具~~ -
一个flex聊天机器人
2010-12-18 10:42 1660无聊之下所作,供大伙娱乐,随边聊聊。。。 -
Flex:基于Flex-config.xml的命令行编译
2009-07-01 09:33 1899关键字: Flex Flex2 编译 mxmlc ... -
抽出flash与java 用AMF交互代码
2009-06-30 15:09 3665最近做的一个java 与flash通讯的项目,由于项目框 ... -
BulkLoader类和PV3D
2009-06-26 17:02 1973AS3取消了movieclip的loader类,所以加 ... -
使用 Flex Builder 3.x 分析工具 Profile
2009-06-25 11:26 3422前言 关于分析工具 (原文见Flex Builder ... -
Flex 程序性能测试
2009-06-24 16:02 1956Flex 程序性能测试 作者:叶晖俊 yehui ... -
Flex RemoteObject类参考
2009-06-19 11:39 1245<mx:RemoteObject>标记 ... -
flex画的菱形
2009-05-11 16:19 3461package com { impo ... -
理解 Flex itemRenderer - 第 4 部分: 状态和过渡
2009-05-08 09:23 1719itemRenderer 最擅长与应用 ... -
理解 Flex itemRenderer - 第 5 部分: 效率
2009-05-08 09:21 1773如果您要显示大量 itemRenderer-无论在 Dat ... -
VO to XML converter
2009-05-04 09:00 1157private function convertToXM ... -
Flex全屏
2008-09-26 11:11 1797private function goFullScreen( ... -
ExternalInterface在Firefox下出错的bug
2008-09-16 09:28 3188使用Document Class为避免命名空间冲突,通常会取消 ... -
Flex与Win32通信实例之ExternalInterface
2008-09-11 16:34 3493关键字: flex win32 vc++ vc externa ...
相关推荐
3. Java后台处理:在Java端,你需要创建一个对应的Servlet或Spring MVC控制器来处理来自Flex的请求。这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行...
3. 强大的后端支持:通过与Java的无缝集成,企业可以利用已有的Java技术栈,如Spring、Hibernate等,构建复杂业务逻辑。 4. 高效的开发流程:MXML和ActionScript的结合,使前后端分离开发变得容易,提高了开发效率。...
文档可能会涵盖Flex和Java的集成方法,数据通信机制(如AMF或HTTP服务),以及如何设计和操作数据库来存储和检索留言。 从标签"flex flex+java的留言板 Flex+Java"可以看出,这个项目主要关注的关键词是Flex与Java...
3. **AMF通信**:理解AMF协议,它是BlazeDS中用于数据交换的二进制格式,能高效地传输复杂的数据结构。 4. **Java后端开发**:编写Java服务器端代码,创建服务类,定义业务逻辑。学习Spring框架来管理Bean,如果...
AMF能让Flex应用快速地调用Java方法,获取或更新服务器端数据。 3. **BlazeDS详解**:BlazeDS支持HTTP和WebSocket协议,提供MessageBroker服务,可以将Flex的Remoting和LiveCycle Data Services功能引入到Java应用...
远程调用服务允许 Flex 客户端直接调用服务器端的 POJOs(Plain Old Java Objects)、Spring 服务或 EJB 方法,极大地简化了分布式应用的开发。消息传递服务则支持发布/订阅模式,使得服务器端可以广播消息到多个...
在“flex+java”项目中,BlazeDS起到了关键作用,它作为Flex和Java之间的桥梁,实现了AMF(Action Message Format)协议,使得Flex应用能够高效地与Java应用进行数据交换。BlazeDS支持HTTP和RTMP(Real-Time ...
通过Zend AMF,Flex客户端可以轻松地调用PHP服务端的方法,实现远程过程调用(RPC)。 3. **MYSQL**: MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于Web应用程序中。它支持SQL标准,具有高性能...
Flex应用通过AMF协议向LCDS发送请求,LCDS接收到请求后调用Java方法,执行相关业务逻辑,再将结果以AMF格式返回给Flex。这种方式比传统的HTTP请求/响应模型更快,因为AMF是二进制的,传输效率高且数据体积小。 **...
这些工具提供AMF(Action Message Format)协议,允许Flex和Java之间高效地交换数据。 5. **Java后端**:在登录实例中,Java代码会处理登录请求,验证用户名和密码,如果验证成功,则返回成功消息,否则返回错误...
Java Socket AMF3 Flash Game Framework 是一个专门为Flash游戏设计的后端框架,它结合了Java技术和AMF3编码,使得游戏开发者能够构建交互性强、安全可靠的Web游戏。在这个框架中,Java作为服务器端语言,提供了稳定...
在代码实现上,由于Flex3与Java的异步通信,可能采用了AMF(Action Message Format)协议,它是Flash Player和服务器之间的一种高效数据传输格式,能够快速地交换复杂的数据结构。代码注释的详尽性是项目质量的重要...
它提供了实时的数据推送、远程调用服务(RPC)以及数据代理服务,使得Flex应用能够轻松地与Java服务器进行通信。 Cleartoolkit是另一个值得注意的组件,可能在描述中被提及。ClearToolkit可能是一个自定义的工具集...
这些库的头文件在`amf+gl+ffnvcodec_inc.zip`这个压缩包中提供,为FFmpeg的编译提供了必要的组件。 首先,OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形。在FFmpeg中,OpenGL可以用来实现视频的...
AMF3协议常用于服务器与客户端之间的实时数据交换,如在Flex或Flash应用中实现视频流、游戏数据或者Web服务调用。 在这个例子中,我们关注的是如何解析AMF3协议数据,并将其转换为树形结构以方便观察。这通常涉及到...
2. **远程服务调用**:通过AMF,Flex客户端可以透明地调用Java后端的业务逻辑,简化了前后端交互。 3. **数据交换效率**:AMF是一种二进制格式,相比JSON或XML,数据传输更高效,减少了网络延迟。 4. **组件重用**...
完成上述步骤后,当Flex客户端调用`remoteService.javaMethod()`时,就会通过AMF协议向Java服务器发送请求,服务器接收到请求后执行`JavaServiceImpl.javaMethod`,并将返回结果反序列化回Flex客户端。 总结来说,...
通过AMF(Action Message Format)协议,BlazeDS能够高效地进行数据传输,使得Flex前端可以直接调用Java后台的远程方法,实现异步通信。 2. **LCDS (LiveCycle Data Services)**:Adobe的LCDS是BlazeDS的增强版,...