网上到到处是 AMF3和JAVA的调用范例,java端是用的servlet实现的。
我觉得servlet很麻烦,不好调试,想用jsp来做.
写了段jsp代码:
<%@ page import="java.io.* "%>
<%@ page import="java.io.DataOutputStream "%>
<%@ page import="java.util.HashMap "%>
<%@ page import="java.util.Map "%>
<%@ page import="java.util.zip.DeflaterOutputStream "%>
<%@ page import="javax.servlet.ServletException"%>
<%@ page import="javax.servlet.http.HttpServlet"%>
<%@ page import="javax.servlet.http.HttpServletRequest"%>
<%@ page import="javax.servlet.http.HttpServletResponse"%>
<%@ page import="flex.messaging.io.*"%>
<%@ page import="flex.messaging.io.amf.*"%>
<%
Map map = new HashMap();
String[] arr = "1,2,3,4,5".split(",");
map.put("stat","good");
map.put("txt", "返回正常");
map.put("datas", arr);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
SerializationContext context = new SerializationContext();
Amf3Output amf3output = new Amf3Output(context);
amf3output.setOutputStream(bout);
amf3output.writeObject(map);
out.println(bout);
%>
用IE访问是出现这个东西,好像是AMF3输出了的:
3txt stat datas)??????????kinglong 12345
as3的程序片段:
public function amf():void
{
var urlvar:URLVariables = new URLVariables();
var ur:URLRequest = new URLRequest();
ur.url = "http://190.75.33.71/hj/amf.jsp
ur.data = urlvar;
ur.method = URLRequestMethod.POST;
var ul:URLLoader = new URLLoader();
ul.addEventListener(Event.COMPLETE, get_action_loadcomplete);
ul.load(ur);
main.txt.setText("jsp");
}
public static function get_action_loadcomplete(evt:Event):void
{
main.txt.setText(evt.target.data);
var byte:ByteArray = evt.target.data as ByteArray;
// byte.uncompress();
var obj:Object = byte.readObject(); main.txt.setText(obj.fullName.toString());
}
但是URLLoader 收到的数据好像应该加工一下,不知道怎么处理,
请问JSP输出AMF3对象序列,给as程序可行吗?
相关推荐
AMF3 协议中文版定义 AMF(Action Message Format,动作信息格式)是一种压缩的二进制格式,用于序列化 ActionScript 对象图。序列化后的 AMF 编码对象图可以用来持久化,并在不同的会话中获得应用的公共状态,或者...
AMF3(Action Message Format version 3)是Adobe公司开发的一种二进制数据序列化格式,主要用于Flash Player与服务器之间的数据交换。它提高了数据传输效率,支持多种数据类型,包括基本类型、对象、数组、日期等。...
AMF3,全称为Action Message Format 3,是Adobe Flex和Flash Player之间进行数据序列化和通信的一种高效格式。在标题“amf3_spec_05_05_08.zip_AMF3_above flash player_player”中,我们可以理解这是关于AMF3规范的...
AMF3(Action Message Format version 3)协议是Adobe公司为Flash Player和Flex应用程序之间通信设计的一种二进制数据交换格式。它旨在提高数据传输效率,同时保持足够的灵活性以适应不同类型的复杂数据结构。AMF3...
- 将C++对象序列化为AMF3格式,用于存储或网络传输。 - 在C++客户端解析从服务器接收到的AMF3响应。 - 创建自定义的AMF3数据类型,扩展库的功能。 - 进行AMF3和其它数据格式(如JSON、XML)之间的转换。 为了使用这...
AMF3(Action Message Format version 3)是Adobe公司开发的一种二进制数据序列化格式,主要用于Flash Player和Flex应用程序与服务器之间的数据交换。在C++编程环境中,AMF3库可以帮助开发者高效地处理这种数据格式...
**AMF3**(Action Message Format 3)是 Adobe 公司推出的一种紧凑的二进制格式,用于序列化 ActionScript 对象图。一旦对象图被序列化为 AMF 编码,就可以在不同的会话之间持久存储和检索应用程序的公共状态,或者...
6. **AMF版本**:AMF有多个版本,如AMF0和AMF3,其中AMF3提供了更好的性能和更多的数据类型支持。 在AMF-1.4.33.zip文件中,可能包含以下内容: 1. **库文件**:可能包含AMF的编程库,比如AS3或PHP的实现,供...
AMF3 可以直接在 ByteArray 对象中进行序列化和反序列化操作。通过实现 IDataInput 和 IDataOutput 接口,可以自定义序列化和反序列化的逻辑,从而更好地控制数据的读写过程。 #### 五、规范性参考 - **AMF0 规范*...
反之,当服务端响应时,也需要将C#对象序列化成AMF数据流。 3. **Policy Server**:在Flex与服务器通信时,为了安全考虑,Flash Player会首先连接到Policy Server,获取跨域策略文件,允许数据交换。在C#项目中,...
Socket编程与AMF3在IT领域是两个重要的概念,它们分别代表了网络通信的基础和一种高效的数据序列化机制。在本文中,我们将深入探讨这两个技术,并结合提供的资源,即一篇名为“socket+AMF3”的博客文章,来理解它们...
相比AMF0,AMF3在序列化和反序列化过程中更加节省带宽,提高了数据传输速度,这对于实时性要求高的游戏场景尤其重要。在本框架中,AMF3被用来编码和解码游戏中的请求和响应,使得客户端和服务器之间的通信更加流畅。...
### AMF3 Specification详解 #### 1. 引言 ##### 1.1 目的 Action Message Format (AMF) 是一种紧凑的二进制格式,用于序列化 ActionScript 对象图。一旦序列化,AMF 编码的对象图可以用于在不同会话之间持久化和...
反序列化则是将接收到的AMF数据转换回.NET对象,供程序使用。这种功能使得AMF.NET成为开发与Flash或Flex客户端交互的服务器端应用程序的理想选择,例如实现Flash Remoting,即通过AMF协议进行跨域通信。 AMF.NET...
支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject、writeObject )。 支持AS3的ByteArray的compress、uncompress压缩算法:DEFLATE、LZIB、LZMA。 支持直接修改AS3的ByteArray字节流内编码的对象。 ...
虽然AMF1.0相比AMF0增加了对XML和XMLList的支持,但在后来的AMF3版本中,这些功能得到了更全面的优化,因此AMF1.0现在较少被使用。 在"AMF1.0(AMP).zip"这个压缩包中,我们可以推测包含的是与AMF1.0相关的源代码...
AMF3(Action Message Format 3)是一种用于序列化ActionScript对象图的紧凑型二进制格式。它主要用于在客户端与服务器端之间高效地传输数据。AMF3是在AMF0的基础上进行了优化和改进而诞生的新版本。 **AMF3 的特点...
AMF0,全称为Action Message Format 0,是Adobe Flex框架中的一个数据序列化协议,用于在客户端(如Flash Player)和服务器之间高效地传输数据。这个格式是AMF(Action Message Format)的第一个版本,主要设计用于...
是一款国外的软件。用于分析AMF的数据包。很强大。喜欢下载吧!可以分析网页游戏封包