php向flash传值,PHP-php与flash交互流程

本文详细介绍了如何使用AMFPHP在PHP和Flash之间进行高效通信,通过实例展示了如何发送和接收数据,以及处理成功和错误情况。重点在于AMF的压缩优化在社交游戏中的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php和flash的交互有多种方式,目前最常用的还是AMFPHP,毕竟AMF是Adobe自己推出的规格,在压缩比例上,都会有很好的优化。目前社交游戏中更加体现了这个黄金组合的魅力。

直接上代码`//flash跟amfphp通信的简单例子

package {

import flash.display.MovieClip;

import fl.events.*;

import flash.events.*;

import flash.text.TextField;

import flash.net.NetConnection;

import flash.net.Responder;

public class Main extends MovieClip {

private var gateway:String = "http://192.168.1.166/flashtest/as2php/amfphp/gateway.php";//amfphp gateway.php文件路径

private var connection:NetConnection;

private var responderSet:Responder;

private var responderGet:Responder;

public function Main() {

//注册鼠标事件

btnSet.addEventListener(MouseEvent.CLICK, setData);

btnGet.addEventListener(MouseEvent.CLICK, getData);

//设置responder

responderSet = new Responder(onResultSet, onFault);

responderGet = new Responder(onResultGet, onFault);

connection = new NetConnection;

//链接gateway

connection.connect(gateway);

}

//发送数据给amfphp

public function setData(_evt:MouseEvent):void {

//获取输入框内的数据

var info1 = txtInput1.text;

var info2 = txtInput2.text;

var info3 = txtInput3.text;

//调用amfphp的函数

connection.call("EasyAMF.setData", responderSet, info1,info2,info3);

txtResponse.text = "Sending Data to AMFPHP";

}

//接收来自amfphp的数据

public function getData(_evt:MouseEvent):void {

connection.call("EasyAMF.getData",responderGet);

txtResponse.text = "Geting data from AMFPHP";

}

//成功调用amfphp函数后的处理函数

private function onResultSet(result:Object):void {

txtResponse.text = String(result);

}

private function onResultGet(result:Object):void {

var aryRs:Array=new Array(); //用一个数组来接收返回的记录

aryRs=result["serverInfo"]["initialData"];

rsinput1.text=aryRs[0][1]; //显示数据

rsinput2.text=aryRs[0][2];

rsinput3.text=aryRs[0][3];

}

//调用amfphp函数失败后的处理函数

private function onFault(fault:Object):void {

txtResponse.text = String(fault.description);

}

}

< ?php

class EasyAMF

{

public function EasyAMF(){

global $host,$dbTable, $dbPass,$dbId;

$host = "localhost";

$dbId = "root";

$dbPass = "";

$dbTable = "amfphp";

$dblink = mysql_connect($host,$dbId,$dbPass);

mysql_select_db($dbTable);

mysql_query("SET NAMES UTF8");

if(!$dblink)

{

die('Connection Impossible:' . mysql_error());

}

}

public function setData($info1,$info2,$info3)

{

$sql="INSERT INTO info (id ,info1 ,info2 ,info3)VALUES (NULL , '$info1', '$info2', '$info3');";

$rs=mysql_query($sql);

if(!$rs==1){

return "failed";

}else{

return "success";

}

}

public function getData()

{

$sql="SELECT * FROM info ORDER BY id DESC LIMIT 1";

$rs=mysql_query($sql);

return $rs;

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值