首先下载AMFPHP的地址是 http://sourceforge.net/project/showfiles.php?group_id=72483#files
amfphp官网地址是 http://www.amfphp.org/
把下载下来的文件解开,基本目录结构是
其中要注意的是 services 目录,这个目录就是放置我们把开发好的服务端代码的。可以专门建立一个目录存放你的服务端代码。在FLASH中调用是靠.号来访问的。
amfphp官网地址是 http://www.amfphp.org/
把下载下来的文件解开,基本目录结构是
其中要注意的是 services 目录,这个目录就是放置我们把开发好的服务端代码的。可以专门建立一个目录存放你的服务端代码。在FLASH中调用是靠.号来访问的。
package
{
//开始导入必要的类包
import flash.events.Event;
import flash.display.MovieClip;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.Responder; //Responder和NetConnection是必要的两个类
import flash.display.Loader;//用来加载外部图片
import flash.net.URLRequest;//用来转换图片的目标路径
public class Main extends MovieClip
{
var gateway:String="http://localhost:8181/amfphp/gateway.php"; //必要步骤,这里是gateway.php的路径
var connection:NetConnection; //申明connection对象
var responder:Responder; //申明responder对象
var myLoader:Loader=new Loader(); //Loader对象
var myRe:URLRequest; //myRe 图片的路径
public function Main():void
{
responder=new Responder(onResult,onFault); //连接amfphp成功就触发onResult函数,失败就触发onFault函数
connection=new NetConnection();
connection.connect(gateway);
connection.call("项目名.类名.方法", responder); //调用amfphp中目录service的某个项目中某个类某个方法.
connection.call("项目名.类名.方法",responder);//可支持同时调用多个方法;
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);//侦听连接状态
}
private function netStatusHandler(evt:NetStatusEvent):void {
trace(evt.info.code)
var info:Object = evt.info;
switch(info.code){
case "NetConnection.Connect.Success":
trace("连接成功!");
break;
case "NetConnection.Connect.Rejected":
trace("AMFPHP连接被拒绝:"+info.code);
break;
case "NetConnection.Connect.Failed":
trace("AMFPHP连接失败:"+evt.info.code);
break;
case "NetConnection.Connect.Closed":
trace("AMFPHP连接已经关闭:"+evt.info.code);
break;
case "NetConnection.Call.BadVersion":
trace("AMFPHP错误:"+evt.info.code);
break;
}
}
private function onResult(result:Object):void
{
//连接成功后返回对象result,这里我们要对数据进行处理.
var arrRs:Array=new Array(); //我们用一个数组来接收返回的记录
arrRs=result["serverInfo"]["initialData"]; //从数据库中传来的值都存在这里,它是个二维数组
for(var i:int;i<arrRs.length;i++)
{
//这里可以对数据进行处理
}
}
private function onFault(fault:Object):void
{
trace(String(fault.description));
}
}
}