首先 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