基本zendAmf的聊天 ->鄒形

 

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

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章