首先 zendAmf要知道怎么用
下面只是一个基本的邹形!!算是给zendAmf一个例子
测试时 打开两个swf即可 点击其中一个 另一个swf跟着响应
要想达到聊天 主要是 flash调用的php函数 能在 php 的另一个函数中得到
php端就是通过数据库 的形式来使另一个 chekSay函数得到
flash端
/*
客户端理论上是 每3s 访问一次 服务端
测试 打开两个窗口即可!! 这里用的数据库只用了文本数据库而已 你也可以将其存入 sql数据库中
*/
import flash.net.NetConnection;
import flash.net.Responder;
var myAMF:String = "http://localhost/zendAmf/gate.php";//必需,服务端入口
var conn:NetConnection;//必需,具体解释请查as3中文帮助
var rsp:Responder;//必需,具体解释请查as3中文帮助
var timer:Timer;
init();
function init():void
{
rsp = new Responder(onResult,onFalse);// 定义成功和失败对应的不同的函数
conn = new NetConnection();//声明
conn.connect(myAMF);//连接服务端入口
//stage.addEventListener(Event.ENTER_FRAME,onFrame,false,1,true);
timer=new Timer(3,0);
timer.addEventListener(TimerEvent.TIMER,onTimer,false,1,true);
timer.start();
}
function onClick(e:MouseEvent):void
{
trace("calll");
conn.call( "Chat.say", rsp, "flash端填写的信息");//呼叫服务端的HelloWorld这个类中的say方法
}
function onResult(result:Object):void
{
//myTA.appendText(result.toString()+"/n");
trace("呼叫成功:"+result);
if(result){
header.text=String(result)
}
else{
trace("result为 null______________________");
}
}
//如果呼叫成功,则myTA显示返回的信息;
function onFalse(theFalse:Object):void
{
//如果呼叫失败则发挥错误信息
trace("呼叫失败");
header.text="呼叫失败"
}
btn.addEventListener(MouseEvent.CLICK,onClick,false,1,true);
function onTimer(e:TimerEvent):void{
//确认是否有信息发过来
conn.call( "Chat.checkSay", rsp);//呼叫服务端的HelloWorld这个类中的say方法
}
php端:
Chat.php
<?php
class Chat
{
//public $info;
//var $receiivedId;// 瀵规柟id
public function say( $message )
{
//存入
// $receiivedId=$id;
$fileName="info.txt";//
// $this->info =$message;
$fHandle=fopen($fileName,"w+");
fwrite($fHandle,$message); //注意 "/r/n表示在写入的txt文本中换行"
fclose($fHandle);
return $message;
}
public function checkSay(){
//读取
$fileName="info.txt";//
$fHandle=fopen($fileName,"a+");
$buffer = fgets($fHandle, 4096);
fclose($fHandle);
if(!$buffer)
$buffer="";
return $buffer;
}
}
?>
gate.php :
<?php
include "Zend/Amf/Server.php";//包含ZendAMF的server类
include "Chat.php";//方法类
$server = new Zend_Amf_Server();//zendamf服务声明
$server -> setClass( "Chat" );//加入Chat类
echo( $server -> handle() );//启动zendamf服务
?>
源码下载:
http://35free.net/f-love/dowmload/chatTest.rar