国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 後端開(kāi)發(fā) php教程 AMFPHP php遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具 快速入門(mén)_PHP

AMFPHP php遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具 快速入門(mén)_PHP

Jun 01, 2016 pm 12:18 PM
快速入門(mén)

它可以使PHP與下述技術(shù)無(wú)縫通信:
(1) Flash 和 Flex Remoting
(2) JavaScript JSON 和 Ajax JSON
(3) XML 和XML-RPC
什么是RPC
遠(yuǎn)端程序調(diào)用(RPC, Remote Procedure Call) 是一種客戶(hù)端與服務(wù)器端交換數(shù)據(jù)方式。我們可以調(diào)用本地對(duì)象帶對(duì)各種參數(shù)方法設(shè)置回調(diào)并接受調(diào)用結(jié)果。我們不用關(guān)心發(fā)送和接收數(shù)據(jù)的實(shí)現(xiàn)細(xì)節(jié)。實(shí)現(xiàn)細(xì)節(jié)通常是抽象的,就像我們?cè)谡{(diào)用本地方法一樣。
AMFPHP的工作原理
 客戶(hù)端(Flash / Flex)與服務(wù)器端(PHP) 使用相同的方式描述方法調(diào)用和復(fù)雜數(shù)據(jù)??蛻?hù)端序列化請(qǐng)求并將它發(fā)送到網(wǎng)關(guān)AMFPHP。AMFPHP再執(zhí)行:
  (1) 反序列化請(qǐng)求
  (2) 找到相應(yīng)的遠(yuǎn)程服務(wù)類(lèi)
  (3) 實(shí)例化類(lèi)
  (4) 執(zhí)行安全檢查
  (5)(使用指定參數(shù))調(diào)用服務(wù)器端方法
  (6) 序列化返回的數(shù)據(jù)
  AMFPHP可以正確地序列化、反序列化復(fù)雜類(lèi)型數(shù)據(jù)。除了對(duì)象和數(shù)組,它還支持 resources 數(shù)據(jù)連接資源,這就意味著我們可以通過(guò)調(diào)用遠(yuǎn)程方法簡(jiǎn)單返回mysql_query,amfphp 會(huì)處理這一切。如果平臺(tái)支持 (目前來(lái)說(shuō),F(xiàn)lash Remoting 和Flex Remoting),AMFPHP還可以處理循環(huán)引用和自定義數(shù)據(jù)它也支持簡(jiǎn)單的遠(yuǎn)程調(diào)試。還有AMFPHP附帶一個(gè)瀏覽器,它可以在創(chuàng)建客戶(hù)端代碼前測(cè)試遠(yuǎn)程服務(wù)。AMFPHP 1.0.1還添加了模板,可以自動(dòng)生成客戶(hù)端代碼。AMFPHP 1.9 beta更是新增了對(duì)AMF3的支持。
簡(jiǎn)單示例
下面我們通過(guò)一個(gè)簡(jiǎn)單的登錄示例來(lái)對(duì)AMFPHP有一個(gè)初步的認(rèn)識(shí),將分別從客戶(hù)端和服務(wù)器端兩個(gè)部分進(jìn)行介紹。
一,F(xiàn)lex客戶(hù)端:
代碼
復(fù)制代碼 代碼如下:
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
{//登陸操作,向服務(wù)器提交數(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
{//處理服務(wù)器返回的結(jié)果
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
{//出錯(cuò)處理
Alert.show("sorry,出錯(cuò)了!!!");
}
}

二,PHP服務(wù)器端
1,將amfphp文件夾置于MyTest項(xiàng)目的根目錄下,打開(kāi)瀏覽器輸入下述地址驗(yàn)證amfphp是否安裝成功
復(fù)制代碼 代碼如下:
http://localhost/MyTest/amfphp/gateway.php

amfphp就是通過(guò)這個(gè)gateway來(lái)定位我們的服務(wù)類(lèi),并將請(qǐng)求轉(zhuǎn)發(fā)給這些服務(wù)類(lèi)進(jìn)行處理的。
2,Login.php文件,包含了處理登陸請(qǐng)求的Login類(lèi),此文件置于BusinessLogic目錄下
代碼
復(fù)制代碼 代碼如下:
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中的服務(wù)路徑項(xiàng)修改如下,為amfphp指明服務(wù)類(lèi)所在的目錄
復(fù)制代碼 代碼如下:
$servicesPath = "../BusinessLogic/";

作者:洞庭散人
AMFPHP 下載地址
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

Laravel 教程
1600
29
PHP教程
1502
276
Python學(xué)習(xí):如何在系統(tǒng)中安裝pandas函式庫(kù) Python學(xué)習(xí):如何在系統(tǒng)中安裝pandas函式庫(kù) Jan 09, 2024 pm 04:42 PM

快速入門(mén):Python安裝pandas函式庫(kù)的方法,需要具體程式碼範(fàn)例一、概述Python是一種廣泛使用的程式語(yǔ)言,它擁有強(qiáng)大的開(kāi)發(fā)生態(tài)系統(tǒng),其中包括許多實(shí)用的程式庫(kù)。而pandas是其中一款非常受歡迎的資料分析庫(kù),它提供了高效的資料結(jié)構(gòu)和資料分析工具,使得資料處理和分析變得更加簡(jiǎn)單。本文將介紹如何在Python中安裝pandas庫(kù),並提供對(duì)應(yīng)的程式碼範(fàn)例。二、安裝Py

快速入門(mén)Mojs動(dòng)畫(huà)庫(kù):爆炸模組指南 快速入門(mén)Mojs動(dòng)畫(huà)庫(kù):爆炸模組指南 Sep 02, 2023 pm 11:49 PM

我們透過(guò)學(xué)習(xí)如何使用mojs為HTML元素添加動(dòng)畫(huà)來(lái)開(kāi)始本系列。在第二個(gè)教學(xué)中,我們繼續(xù)使用Shape模組製作內(nèi)建SVG形狀的動(dòng)畫(huà)。第三個(gè)教學(xué)介紹了使用ShapeSwirl和stagger模組對(duì)SVG形狀進(jìn)行動(dòng)畫(huà)處理的更多方法。現(xiàn)在,我們將學(xué)習(xí)如何使用Burst模組以突發(fā)形式製作不同SVG形狀的動(dòng)畫(huà)。本教程將取決於我們?cè)谇叭齻€(gè)教程中介紹的概念。如果您還沒(méi)有閱讀過(guò)它們,我建議您先閱讀它們。創(chuàng)建基本連拍動(dòng)畫(huà)在創(chuàng)建任何突發(fā)動(dòng)畫(huà)之前,我們需要做的第一件事是實(shí)例化Burst物件。之後,我們可以指定不同屬性

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的音訊串流服務(wù) 快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的音訊串流服務(wù) Jul 29, 2023 pm 11:45 PM

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的音訊串流服務(wù)引言:音訊串流服務(wù)在今天的數(shù)位化世界中越來(lái)越受歡迎,它可以讓我們透過(guò)網(wǎng)路直接播放音訊文件,而無(wú)需進(jìn)行完整的下載。本文將介紹如何使用Go語(yǔ)言函數(shù)來(lái)快速實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音訊串流服務(wù),以便您能更好地理解和使用這項(xiàng)功能。第一步:準(zhǔn)備工作首先,您需要安裝Go語(yǔ)言的開(kāi)發(fā)環(huán)境。您可以從官方網(wǎng)站(https://golan

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的圖像辨識(shí)功能 快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的圖像辨識(shí)功能 Jul 30, 2023 pm 09:49 PM

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的影像辨識(shí)功能在現(xiàn)今的科技發(fā)展中,影像辨識(shí)技術(shù)已成為一個(gè)熱門(mén)的話(huà)題。作為一種快速且有效率的程式語(yǔ)言,Go語(yǔ)言具備了實(shí)現(xiàn)影像辨識(shí)功能的能力。本文將透過(guò)使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的圖像辨識(shí)功能,為讀者提供一個(gè)快速入門(mén)的指南。首先,我們需要安裝Go語(yǔ)言的開(kāi)發(fā)環(huán)境??稍贕o語(yǔ)言官方網(wǎng)站(https://golang.org/)上下載適

學(xué)習(xí)使用五種Kafka視覺(jué)化工具的快速入門(mén) 學(xué)習(xí)使用五種Kafka視覺(jué)化工具的快速入門(mén) Jan 31, 2024 pm 04:32 PM

快速入門(mén):五種Kafka視覺(jué)化工具的使用指南1.Kafka監(jiān)控工具:簡(jiǎn)介ApacheKafka是一種分散式發(fā)布-訂閱訊息系統(tǒng),它可以處理大量的數(shù)據(jù),並提供高吞吐量和低延遲。由於Kafka的複雜性,需要使用視覺(jué)化工具來(lái)幫助監(jiān)控和管理Kafka叢集。 2.Kafka視覺(jué)化工具:五大選擇KafkaManager:KafkaManager是一個(gè)開(kāi)源的Web界

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的視訊串流服務(wù) 快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的視訊串流服務(wù) Aug 01, 2023 pm 02:29 PM

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的視訊串流服務(wù)引言:視訊串流服務(wù)在現(xiàn)代應(yīng)用中扮演著重要角色。本文將介紹如何使用Go語(yǔ)言函數(shù)來(lái)實(shí)作一個(gè)簡(jiǎn)單的影片串流服務(wù)。我們將使用Go語(yǔ)言的net/http套件來(lái)處理HTTP請(qǐng)求,並結(jié)合FFmpeg函式庫(kù)來(lái)處理視訊串流的編解碼。步驟一:安裝FFmpeg在開(kāi)始寫(xiě)程式之前,我們需要先安裝FFmpeg函式庫(kù)??赏高^(guò)FFmpeg官方網(wǎng)站

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的資料聚合功能 快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的資料聚合功能 Jul 29, 2023 pm 02:06 PM

快速入門(mén):使用Go語(yǔ)言函數(shù)實(shí)現(xiàn)簡(jiǎn)單的資料聚合功能在軟體開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要對(duì)一組資料進(jìn)行聚合的情況。聚合操作可以統(tǒng)計(jì)、匯總、計(jì)算等,對(duì)資料進(jìn)行分析展示。而在Go語(yǔ)言中,我們可以使用函數(shù)來(lái)實(shí)作簡(jiǎn)單的資料聚合功能。首先,我們需要定義一個(gè)資料類(lèi)型來(lái)表示我們要進(jìn)行聚合的資料。假設(shè)我們有一個(gè)學(xué)生的成績(jī)表,每個(gè)學(xué)生有姓名和成績(jī)兩個(gè)字段,那麼我們可以創(chuàng)建如下的結(jié)構(gòu)

推薦五款Go語(yǔ)言常用框架,讓您快速入門(mén) 推薦五款Go語(yǔ)言常用框架,讓您快速入門(mén) Feb 24, 2024 pm 05:09 PM

Title:快速上手:五款Go語(yǔ)言常用框架推薦近年來(lái),隨著Go語(yǔ)言的流行,越來(lái)越多的開(kāi)發(fā)者選擇採(cǎi)用Go進(jìn)行專(zhuān)案開(kāi)發(fā)。 Go語(yǔ)言以其高效、簡(jiǎn)潔和性能優(yōu)越等特點(diǎn)受到了廣泛關(guān)注。在Go語(yǔ)言開(kāi)發(fā)中,選擇適合的框架能夠提高開(kāi)發(fā)效率和程式碼品質(zhì)。本文將介紹五款Go語(yǔ)言常用框架,並附上程式碼範(fàn)例,幫助讀者快速上手。 Gin框架Gin是一個(gè)輕量級(jí)的web框架,具有快速高效的特點(diǎn),

See all articles