- 浏览: 1449816 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (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
Flash加载外部http数据有很多封装方式,常用的数据封装格式有xml SOAP、json、webService和amf等。其中前面三个都是互联网通用的基于字符串的格式,而AMF是Adobe独家开发出来的封装格式,它和其他格式不一样的地方是基于二进制的,而且这种格式是Flash可以读取的。它的优点也显露出来了:1、由于基于二进制,而且没有像xml那样很多的冗余数据,传输同样的数据量体积会小很多。2、数据传输到Flash端可以直接读取,无需进行字符串解释等反序列化过程,效率也提高了。(amf有两种格式:AMF0和AMF3;Flash8之前的版本只支持AMF0,Flash9支持两种格式、不过flash使用AMF3应该效率会高点,因为AMF0是兼容之前版本用的)
然而amf是Adobe独家开发的,如果不清楚它的数据封装格式就无法用其它后台语言将数据封装成amf再传输到flash那里。然而目前有很多开源的框架支持amf,如php的amfphp、java的openamf等。
Adobe前段时间发布一个名为“BlazeDS”的开源的Flash数据访问项目,各位可以去adobe官方网站下载研究。它的功能和adobe livecycle data services类似,只是提供开源并且少了rtmp通信方面的功能。
关于AMF3封装的类就存在BlazeDS的flex.messaging.io.amf包里面,其中几个比较重要的类有(Amf3Output、Amf3Input等,如果想兼容flash8之前版本请使用Amf0Output和Amf0Input)。
如果各位想用AMF3格式又不想使用Flex的remoting功能,可以手动封装AMF格式。下面简单介绍一下怎样在java中amf的封装:
Java端代码:(封装一个Object对象,Object保存了name=weni;age=27;web=www.weni.cn 以及一个长度为10000的数组,然后将对象保存到一个文本文件里面)
SerializationContext serializationContext=new SerializationContext();
Amf3Output amfOut = new Amf3Output(serializationContext);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
DataOutputStream dataOutStream = new DataOutputStream(outStream);
amfOut.setOutputStream(dataOutStream);
HashMap<String, Object> map=new HashMap<String, Object>();
Double[] arr=new Double[10000];
for(int index=0;index<10000;index++)
{
arr[index]=Math.random();
}
map.put("arr", arr);
map.put("name", "weni");
map.put("age", "27");
map.put("web", "www.weni.cn");
try
{
amfOut.writeObject(map); //写入java HashMap对象,会自动转换成Flash的Object对象
dataOutStream.flush();
} catch (IOException e)
{
e.printStackTrace();
}
byte[] messageBytes = outStream.toByteArray();
try
{
FileOutputStream os;
OutputStreamWriter ow;
BufferedWriter out;
os = new FileOutputStream("D://test.txt");
ow = new OutputStreamWriter(os);
out = new BufferedWriter(ow);
os.write(messageBytes);
os.flush();
os.close();
System.out.println("OK");
}catch(Exception e)
{
System.out.println("error :" + e);
}
客户端读取代码:
var loader:URLLoader=new URLLoader();
loader.load(new URLRequest("D://test5.txt"));
loader.addEventListener(Event.COMPLETE,onComplete);
loader.dataFormat=URLLoaderDataFormat.BINARY;
private function onComplete(evt:Event):void
{
var start:Number=getTimer();
var byte:ByteArray=loader.data as ByteArray;
var obj:Object=byte.readObject(); //读取出来的对象
var end:Number=getTimer();
trace("耗时:"+(end-start)+"毫秒")
trace(obj.name,obj.age,obj.arr.length)
}
发表评论
-
微信小程序--搜索框滚动到顶部时悬浮
2018-12-06 14:44 3176<scroll-view style="w ... -
绘制音乐的频谱图(使用Analyser节点)(转)
2018-11-19 15:19 1298<canvas id="canvas&quo ... -
nw 使用手记,用js 写桌面程序
2018-11-08 09:37 478安装 node.js , 将npm 添加至系统 ... -
解除网页右键限制和开启网页编辑状态的js代码
2018-04-04 04:23 1930当访问页面右键被限制了怎么办? 很好办!将以下代码添加进收 ... -
关于Cocos2dx-JS在iOS8以上系统调用OpenGL进入后台时崩溃的解决办法
2015-11-02 08:48 4565这次发布新版本后没有预料到的crash是下面这些,并且在遇到 ... -
datatables官方例子(demo)
2014-03-17 17:34 26494http://datatables.net/release ... -
在新窗口打开一个链接
2013-06-01 23:19 757<html> <body> ... -
2345赚外快
2012-07-17 10:15 7各位电脑同行们,电脑爱好者们: 你手上有充足的客户资源么 ... -
asp
2010-02-25 13:41 974<% set rs=serve ... -
Div+CSS布局入门教程——页面制作-用好border和clear
2008-09-11 13:05 1420这一节里面,主要就是 ... -
Div+CSS布局入门教程——页面布局与规划
2008-09-11 13:03 1493在网页制作中,有许多的术语,例如:CSS、HTML、DHTML ... -
Div+CSS布局入门教程——写入整体层结构与CSS
2008-09-11 13:02 1242接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习 ... -
Div+CSS布局入门教程——页面顶部制作
2008-09-11 13:02 1246当我们写好了页面大致的DIV结构后,我们就可以开始 ... -
javascript小技巧<七>
2008-08-31 13:13 1068//插入文字 document.onclick =functi ... -
javascript小技巧<六>
2008-08-31 13:07 1177小技巧//设置光标位置 function getCaret( ... -
javascript小技巧<五>
2008-08-31 12:59 1244//下载文件 function DownURL(strRemo ... -
javascript小技巧<四>
2008-08-31 12:51 942//屏蔽按键 <html><head&g ... -
javascript小技巧<三>
2008-08-31 12:44 1019//网页是否被检索 <meta name="R ... -
javascript小技巧<二>
2008-08-31 12:35 980//各种尺寸 s += "\r\n网页可见区域宽 ... -
javascript小技巧<一>
2008-08-31 12:28 1001事件源对象event.srcElement.tagNameev ...
相关推荐
这需要理解Flex应用的逻辑和数据结构,通过发送AMF请求模拟用户交互。例如,使用编程语言(如Python、Java)编写脚本,构造AMF消息并发送到服务器,然后解析返回的数据。 6. **Flex数据解码** - 对于AMF数据的解码...
客户端可能是一个Flash应用,它使用AMF3来编码数据,将这些数据封装在socket的发送缓冲区中,发送到服务器。服务器端接收到数据后,会先解析AMF3编码的二进制流,还原出原始的命令或数据,然后执行相应的业务逻辑。 ...
Flex与Java通信是Web开发中的一个重要技术组合,它允许用户在浏览器端利用Flash的富互联网应用(RIA)特性,通过ActionScript与服务器端的Java应用程序进行数据交互。本压缩包包含了一个完整的Flex与Java通信的示例...
Java和Flash是两种在互联网应用开发中非常重要的技术。Java是一种多平台的、面向对象的编程语言,而Flash则是用于创建交互式动画、图形和应用程序的工具,尤其在网络媒体领域有着广泛的应用。这个"Java新手上路Flash...
4. **BlazeDS**:Adobe提供的开源项目,提供Java AMF3格式的封装方法。 以下是一个简单的步骤指南: 1. **配置Tomcat服务器**:在MyEclipse中配置Tomcat 6.0服务器,确保其正常运行。 2. **部署BlazeDS**:解压...
Flex与Java之间的通信是Web开发中的重要一环,特别是在构建富互联网应用程序(RIA)时。本实例程序展示了如何在Flex前端和Java后端之间通过XML进行数据交换,从而实现两个不同工程之间的协作。 Flex是一种基于...
在Java环境中,我们需要创建对应的实体类(如User、Product等)和数据访问对象(DAO)。DAO类将封装对数据库的CRUD操作,例如使用JDBC或ORM框架如Hibernate执行SQL语句。 步骤5:实现Flex与Java的交互 在Flex应用中...
在Flex中,可以创建一个表单来收集用户输入的数据,然后使用ActionScript将这些数据封装成对象,通过AMF调用Java服务的创建方法。Java服务接收到数据后,可以使用JDBC或ORM框架如Hibernate来插入数据库。 4. **...
总结起来,Flex BlazDS封装实体是实现Flex与Java后端数据交互的关键技术,它简化了数据绑定、服务调用和数据管理的过程,极大地提高了开发效率和应用性能。通过熟练掌握这一技术,开发者可以构建出功能强大、用户...
Flex与Java交互是Web开发中的常见技术,尤其在构建富客户端应用时,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。Flex作为一个强大的RIA(Rich Internet Applications)开发框架,提供了丰富...
Flex是Adobe开发的一个开源框架,用于构建动态、交互式的用户界面,而Java则是一种广泛使用的后端编程语言,常用于处理业务逻辑和数据管理。 在Flex和Java之间传递数据时,通常采用AMF(Action Message Format)或...
AMF是一种轻量级的二进制数据格式,特别适合在Web服务中传输数据,因为它比JSON和XML更快、更小。AMF可以将ActionScript对象直接转换为Java对象,反之亦然,极大地提高了数据交换的效率。 5. **Granite的集成与...
在这个项目中,Java作为服务器端的技术,负责处理业务逻辑和数据访问。开发者可能使用Spring框架来管理依赖和提供服务,Struts或Spring MVC来处理HTTP请求,以及Hibernate或MyBatis等ORM(对象关系映射)工具来与...
3. **数据封装**:ActionScript将表单数据转换为服务器能理解的格式,如XML或AMF。AMF是一种高效的数据序列化格式,常用于Flash与服务器之间的数据交换。 4. **网络通信**:使用`XMLSocket`类或`URLLoader`类发起...
远程对象(RemoteObject)是Flex与后台服务通信的一种机制,它封装了AMF(Action Message Format)协议,这是一种高效的二进制数据交换格式,用于在Flex客户端和Java服务之间传递数据。AMF能够显著提高数据传输效率...
3. **数据库连接**:在服务器端,我们需要建立一个能与数据库交互的接口,例如PHP、Java或ASP.NET,这些后端语言可以连接到数据库,查询图片信息,然后将结果封装成XML或AMF格式响应给Flash。 4. **图片轮换逻辑**...
5. **数据访问对象(DAO)和业务逻辑层(BLL)**:在Flex-Java架构中,通常Flex负责展示层,Java处理业务逻辑和数据存储。DAO用于与数据库交互,BLL则封装了业务规则和操作,Flex通过调用Java服务来执行这些操作。 ...
4. **数据传输格式**:Flash可能使用AMF(Action Message Format)或XML等格式来封装和解析数据,以便与服务器交换信息。 5. **安全与兼容性**:随着移动设备的普及和浏览器对Flash支持的减少,Flash留言板可能面临...