一、什么是AMF
AMF是Flash与服务器进行通信的一种编码格式(为了方便理解,你可以暂时把它理解为与XML相似的技术),但它是以二进制数据进行传输的,客户端采用POST形式进行数据提交,它的***特色是可以直接传输复杂的数据类型,比如数组、普通对象、日期对象等,而且可以对传输的数据进行压缩以提高传输速率,另外结合Flash Remoting网关(FluorineFx、amfphp、OpenAMF),通过远程过程调用(RPC)可以在客户端方便调用服务器定义的公开方法并得到返回的数据。
所以它的设计是为了提高数据传输速率,提高开发效率的,目前在一些基于Flash开发的大型网页游戏中都能找到它的踪影。本文讲解一个有关AMF插件工具的使用,一方面是为了方便开发测试,另一方面也是希望通过此工具了解基于AMF开发的成功网站的通讯数据。
二、什么是Flashbug
Flashbug是Firefox(火狐)浏览器的一个插件,而且它是架构于Firefox另外一个知名插件Firebug之上的。这个插件用于查看网页中的Flash trace输出的信息以及与服务器之间的通信情况,另外支持查看基于AMF通信方式架构程序与服务器通信的数据(因为AMF是二进制传输的,所以不借助工具只能看到一堆乱码)。
三、Flashbug安装环境与安装方法
Flashbug作为Firefox的一种插件,它的安装文件是标准xpi后缀的,如果已下载这个文件,可以直接拖动到打开的Firefox浏览器窗口开始安装,也可以直接访问Firefox插件网站,直接找到这个插件详情页,然后点击旁边的“添加到Firefox”按钮开始下载安装。
因为Flashbug是基于Firebug的,所以要先安装Firebug插件,而且为了能使用上AMF检视功能,还要安装较高版本的Firebug,要安装高版本的Firebug通常也意味着要使用较高版本的Firefox浏览器,为了方便起见,建议一次把所有配置升级到***版本。
另外要想利用Flashbug看到Flash中trace输出的信息,还得给Firefox安装Debug版本的Flash播放器。
四、Flashbug使用方法
Flashbug使用方法非常简单,通过Firefox“工具”栏,或者点击“状态栏”右侧甲壳虫图标打开Firebug窗口,点击切换到“Flash Console”标签,就可以看到网页Flash的trace输出信息,还有Flash请求策略文件(crossdomain.xml)的过程,以及Flash使用Shared Objects(在Flash上使用的一种类似Cookie的对象)数据。如下图:
要查看AMF数据,切换到“网络”标签,然后再找到有关Remoting网关请求的地址(一般请求地址包含Gateway字符串,我的例子是使用了FluorineFx开源.NET网关的一个现成例子),点击展开,如下图:
通过Response → data → body → source即可查看到服务器返回的信息,如下图,请注意我划框与连线的地方。
【编辑推荐】