0 0

请教JSP输出AMF3对象序列,给as程序可行吗?10

网上到到处是 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程序可行吗?
          
        
2010年8月17日 14:43

1个答案 按时间排序 按投票排序

0 0

一般用remoteobject才返回amf对象
你现在的调用方式应该是httpservice,一般返回字符串,可以是xml等等

2010年8月17日 20:56

相关推荐

    AMF3协议中文版定义.pdf

    AMF3 协议中文版定义 AMF(Action Message Format,动作信息格式)是一种压缩的二进制格式,用于序列化 ActionScript 对象图。序列化后的 AMF 编码对象图可以用来持久化,并在不同的会话中获得应用的公共状态,或者...

    amf3cplusplus

    AMF3(Action Message Format version 3)是Adobe公司开发的一种二进制数据序列化格式,主要用于Flash Player与服务器之间的数据交换。它提高了数据传输效率,支持多种数据类型,包括基本类型、对象、数组、日期等。...

    amf3_spec_05_05_08.zip_AMF3_above flash player_player

    AMF3,全称为Action Message Format 3,是Adobe Flex和Flash Player之间进行数据序列化和通信的一种高效格式。在标题“amf3_spec_05_05_08.zip_AMF3_above flash player_player”中,我们可以理解这是关于AMF3规范的...

    amf3协议解析的例子

    AMF3(Action Message Format version 3)协议是Adobe公司为Flash Player和Flex应用程序之间通信设计的一种二进制数据交换格式。它旨在提高数据传输效率,同时保持足够的灵活性以适应不同类型的复杂数据结构。AMF3...

    AMF3 C++ 源码(修改版)

    - 将C++对象序列化为AMF3格式,用于存储或网络传输。 - 在C++客户端解析从服务器接收到的AMF3响应。 - 创建自定义的AMF3数据类型,扩展库的功能。 - 进行AMF3和其它数据格式(如JSON、XML)之间的转换。 为了使用这...

    AMF3 C++ 源码库码库

    AMF3(Action Message Format version 3)是Adobe公司开发的一种二进制数据序列化格式,主要用于Flash Player和Flex应用程序与服务器之间的数据交换。在C++编程环境中,AMF3库可以帮助开发者高效地处理这种数据格式...

    AMF3 format

    **AMF3**(Action Message Format 3)是 Adobe 公司推出的一种紧凑的二进制格式,用于序列化 ActionScript 对象图。一旦对象图被序列化为 AMF 编码,就可以在不同的会话之间持久存储和检索应用程序的公共状态,或者...

    AMF-1.4.33.zip

    6. **AMF版本**:AMF有多个版本,如AMF0和AMF3,其中AMF3提供了更好的性能和更多的数据类型支持。 在AMF-1.4.33.zip文件中,可能包含以下内容: 1. **库文件**:可能包含AMF的编程库,比如AS3或PHP的实现,供...

    amf3_spec amf3_spec

    AMF3 可以直接在 ByteArray 对象中进行序列化和反序列化操作。通过实现 IDataInput 和 IDataOutput 接口,可以自定义序列化和反序列化的逻辑,从而更好地控制数据的读写过程。 #### 五、规范性参考 - **AMF0 规范*...

    开源amf协议解析封装

    反之,当服务端响应时,也需要将C#对象序列化成AMF数据流。 3. **Policy Server**:在Flex与服务器通信时,为了安全考虑,Flash Player会首先连接到Policy Server,获取跨域策略文件,允许数据交换。在C#项目中,...

    socket+AMF3

    Socket编程与AMF3在IT领域是两个重要的概念,它们分别代表了网络通信的基础和一种高效的数据序列化机制。在本文中,我们将深入探讨这两个技术,并结合提供的资源,即一篇名为“socket+AMF3”的博客文章,来理解它们...

    java socket amf3 flash game framework

    相比AMF0,AMF3在序列化和反序列化过程中更加节省带宽,提高了数据传输速度,这对于实时性要求高的游戏场景尤其重要。在本框架中,AMF3被用来编码和解码游戏中的请求和响应,使得客户端和服务器之间的通信更加流畅。...

    amf3_spec_05_05_08.pdf

    ### AMF3 Specification详解 #### 1. 引言 ##### 1.1 目的 Action Message Format (AMF) 是一种紧凑的二进制格式,用于序列化 ActionScript 对象图。一旦序列化,AMF 编码的对象图可以用于在不同会话之间持久化和...

    AMF.NET 文件极小的开源AMF解析库

    反序列化则是将接收到的AMF数据转换回.NET对象,供程序使用。这种功能使得AMF.NET成为开发与Flash或Flex客户端交互的服务器端应用程序的理想选择,例如实现Flash Remoting,即通过AMF协议进行跨域通信。 AMF.NET...

    AMF数据分析器_V22

    支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject、writeObject )。 支持AS3的ByteArray的compress、uncompress压缩算法:DEFLATE、LZIB、LZMA。 支持直接修改AS3的ByteArray字节流内编码的对象。 ...

    AMF1.0(AMP).zip

    虽然AMF1.0相比AMF0增加了对XML和XMLList的支持,但在后来的AMF3版本中,这些功能得到了更全面的优化,因此AMF1.0现在较少被使用。 在"AMF1.0(AMP).zip"这个压缩包中,我们可以推测包含的是与AMF1.0相关的源代码...

    Action Message Format -- AMF3 中文版.doc

    AMF3(Action Message Format 3)是一种用于序列化ActionScript对象图的紧凑型二进制格式。它主要用于在客户端与服务器端之间高效地传输数据。AMF3是在AMF0的基础上进行了优化和改进而诞生的新版本。 **AMF3 的特点...

    amf0 原版文档 完整版

    AMF0,全称为Action Message Format 0,是Adobe Flex框架中的一个数据序列化协议,用于在客户端(如Flash Player)和服务器之间高效地传输数据。这个格式是AMF(Action Message Format)的第一个版本,主要设计用于...

    AMF拦截分析工具AMF网页游戏利器序列跟逆序列的利器

    是一款国外的软件。用于分析AMF的数据包。很强大。喜欢下载吧!可以分析网页游戏封包

Global site tag (gtag.js) - Google Analytics