当前位置: 首页 > 工具软件 > Zend AMF > 使用案例 >

基本zendAmf的聊天 ->邹形

严承允
2023-12-01

 

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

 

 

 

 

 

 类似资料: