天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

AMFPHP php遠程調用(RPC, Remote Procedure Call)工具 快速入門教程

它可以使php與下述技術無縫通信:
(1) Flash 和 Flex Remoting
(2) JavaScript JSON 和 Ajax JSON
(3) XML 和XML-RPC
什么是RPC
遠端程序調用(RPC, Remote Procedure Call) 是一種客戶端與服務器端交換數(shù)據(jù)方式。我們可以調用本地對象帶對各種參數(shù)方法設置回調并接受調用結果。我們不用關心發(fā)送和接收數(shù)據(jù)的實現(xiàn)細節(jié)。實現(xiàn)細節(jié)通常是抽象的,就像我們在調用本地方法一樣。
AMFphp的工作原理
 客戶端(Flash / Flex)與服務器端(php) 使用相同的方式描述方法調用和復雜數(shù)據(jù)。客戶端序列化請求并將它發(fā)送到網(wǎng)關AMFphp。AMFphp再執(zhí)行:
  (1) 反序列化請求
  (2) 找到相應的遠程服務類
  (3) 實例化類
  (4) 執(zhí)行安全檢查
  (5)(使用指定參數(shù))調用服務器端方法
  (6) 序列化返回的數(shù)據(jù)
  AMFphp可以正確地序列化、反序列化復雜類型數(shù)據(jù)。除了對象和數(shù)組,它還支持 resources 數(shù)據(jù)連接資源,這就意味著我們可以通過調用遠程方法簡單返回mysql_query,amfphp 會處理這一切。如果平臺支持 (目前來說,F(xiàn)lash Remoting 和Flex Remoting),AMFphp還可以處理循環(huán)引用和自定義數(shù)據(jù)它也支持簡單的遠程調試。還有AMFphp附帶一個瀏覽器,它可以在創(chuàng)建客戶端代碼前測試遠程服務。AMFphp 1.0.1還添加了模板,可以自動生成客戶端代碼。AMFphp 1.9 beta更是新增了對AMF3的支持。
簡單示例
下面我們通過一個簡單的登錄示例來對AMFphp有一個初步的認識,將分別從客戶端和服務器端兩個部分進行介紹。
一,F(xiàn)lex客戶端:
代碼
復制代碼 代碼如下:
import mx.controls.Alert;
import mx.rpc.remoting.mxml.RemoteObject;
import mx.rpc.events.*;
public var login_remoteObj:RemoteObject = null;
public function initLoginRemoteObject():void
{//初始化RemoteObject
this.login_remoteObj = new RemoteObject();
this.login_remoteObj.source = "Login";
this.login_remoteObj.destination = "amfphp";
this.login_remoteObj.showBusyCursor = true;
this.login_remoteObj.endpoint = "http://localhost/MyTest/amfphp/gateway.php";
this.login_remoteObj.doLogin.addEventListener("result", loginHandler);
this.login_remoteObj.doLogin.addEventListener("fault", faultHandler);
}
public function doLogin():void
{//登陸操作,向服務器提交數(shù)據(jù)
var name:String = this.txtName.text;
var pwd:String = this.txtPassword.text;
var data:Array = new Array();
data.push(name);
data.push(pwd);
this.login_remoteObj.getOperation("doLogin").send(data);
}
public function loginHandler(event: ResultEvent):void
{//處理服務器返回的結果
var result:Array = event.result as Array;
var flag:String = result[0];
if (flag == "0") {
Alert.show("登陸失敗: " + result[1]);
} else if (flag == "1") {
Alert.show("登陸成功: " + result[1]);
} else if (flag == "-1") {
Alert.show("異常: " + result[1]);
}
}
public function faultHandler(event: FaultEvent):void
{//出錯處理
Alert.show("sorry,出錯了!!!");
}
}

二,php服務器
1,將amfphp文件夾置于MyTest項目的根目錄下,打開瀏覽器輸入下述地址驗證amfphp是否安裝成功
復制代碼 代碼如下:
http://localhost/MyTest/amfphp/gateway.php

amfphp就是通過這個gateway來定位我們的服務類,并將請求轉發(fā)給這些服務類進行處理的。
2,Login.php文件,包含了處理登陸請求的Login類,此文件置于BusinessLogic目錄下
代碼
復制代碼 代碼如下:
<?php
class Login
{
public function doLogin($data)
{
$result = array();
try {
$name = array_shift($data);
$pwd = array_shift($data);
if ($name == "phinecos" && $pwd == "123") {
$result[] = "1";
$result[] = "you are valid user!";
} else {
$result[] = "0";
$result[] = "login failed";
}
} catch (Exception $ex) {
$result[] = "-1";
$result[] = $ex->getMessage();
}
return $result;
}
}
?>

3,將globals.php中的服務路徑項修改如下,為amfphp指明服務類所在的目錄
復制代碼 代碼如下:
$servicesPath = "../BusinessLogic/";

作者:洞庭散人
AMFphp 下載地址

php技術AMFPHP php遠程調用(RPC, Remote Procedure Call)工具 快速入門教程,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美成人免费观看久久 | 伊人角狠狠狠狠 | 日韩精品一区二区三区色欲AV | 最近的中文字幕2019国语 | 国产精品人妻无码免费A片导航 | 国产在线精品亚洲视频在线 | 柠檬福利精品视频导航 | 护士喂我吃乳液我脱她内裤 | 在线亚洲中文精品第1页 | 无人区乱码区1卡2卡三卡在线 | 午夜福利电影网站鲁片大全 | 97在线观看免费视频 | 暖暖免费 高清 日本社区中文 | 亚洲精品线在线观看 | 伦理79电影网在线观看 | 97国产精品视频在线观看 | 牛牛免费视频 | 二级片免费看 | 丰满的寡妇hd高清在线观看 | 国产成人综合网在线观看 | 国产精品人妻无码久久久2022 | 欧美一区二区视频在线观看 | 十八禁肉动漫无修在线播放 | 麻豆天美国产一区在线播放 | 日本无吗高清 | 狠狠色狠狠色综合日日91app | 国产精品A久久777777 | 久亚洲AV无码专区A片 | 韩国电影real在线观看完整版 | 亚洲性夜夜色综合网站 | 失禁 调教 刺激 哭喊男男 | 亚洲人成电影网站在线观看 | 富婆大保健嗷嗷叫普通话对白 | 欧美6O老妪与小伙交 | 日本zljzljzlj精品 | 国产乱码精品一区二区三区四川 | 中文字幕免费在线视频 | 暖暖视频免费观看高清完整版 | 2021扫黑风暴在线观看免费完整版 | 亚洲免费观看 | 黄色免费在线网址 |