Flash Remoting 教學 1 – 下載、安裝與hello world
◆flash remoting是什麼?
Flash remoting是一種連接flash client 與 server端的技術,它的功用就像是 web service, xml, loadVars一般,可以在兩者之間交換資料,達到動態置換內容的目地。
Flash remoting特別的地方在於它採用macromedia獨家的AMF(Action Message Format),這是一種 binary format的資料型態,透過 AMF over HTTP的方式將flash端資料編碼後傳回server,server端的remoting adaptor接收到資料後則會解碼回正確的native物件,交給正確的程式處理。
AMF除了用於Flash remoting外,也廣泛的用於 Local Connection 與 Flash communication server,它最大的特色在於可直接將flash native object,例如Object, Array, Date, XML,傳回server端,並且在server端自動進行轉譯成適當的物件,例如flash 的Array傳回PHP時就會自動轉換為 Associative Array;這個特色對開發者最大的好處在於不需要再人工處理serialization 與 deserialization的繁複工作,不但精確度更高,同時開發也更省時間。
由於AMF是binary format並且編碼時經過高度壓縮,因此非常適合用來傳遞大量的資料,根據flashorb網站的測試(主要針對web service與flash remoting),當資料量越大時,flash remoting的傳輸效能就越高,遠遠超過web service的表現,因此同樣的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的傳輸方式自然也無可比擬。
至於在server端,目前macromedia官方支援的平台有三種,分別是 Java Coldfusion(但實際上Coldfusion應該只算是java的subset,它是一種 scripting tag library)與.NET,但由於AMF格式已被玩家反組譯成功,因此很快的就在Open Source圈出現各種「民間版」的remoting替代方案,其中比較有名的是:
-AMFPHP: 這是php版的remoting
-OPENAMF: java版的remoting
-Flap: Perl 與Python版的remoting
-FlashORB: 商業版的remoting替代方案,目前支援java與.net
相關閱讀:
十個採用remoting的理由:
◆amfphp是平麼?
本文主要介紹的是php平台上的remoting方案,也就是amfphp。
Amfphp最早是由Justin Watkins所發起並負責撰寫第一版大部份的程式碼,經過三年發展後去年由Patrick Mineault接手,不但改良了大部份的程式碼,同時也補齊了許多重要的功能,例如本系列第二篇要介紹的 pageable recordset。
Amfphp是一個完全由php寫成的server端模組,最大的特色在於完全不用安裝,任何hosting 主機只要能跑php就能執行flash remoting,再加上php原本就有廣大的使用者基礎,因此一推出後很快就獲得玩家們的接受。
如果你想要瞭解amfphp的最新方展,可前往 amfphp wiki 一探究竟,如果你有使用上的疑問,最好的解答就在amfphp mailing list 或是 forum 。
◆下載amfphp
目前amfphp最新版為 v1.0 milestone 2,據patrick的說這應該是正式發表前最後一個beta版,所以穩定性應該相當不錯才是。
下載位址
◆安裝amfphp
檔案抓回來後解壓縮,應該會得到下圖的結構:
其中flashservices就是amfphp的核心模組,只要將它上傳到網頁的根目錄下即可。本文是以windows + apache 2為例,因此放置位為:
C:\Program Files\Apache Group\Apache2\htdocs\flashservices
其中 htdocs即是apache預設的網頁根目錄,如果你的位置不同請適當修改。
放好 flashservices後基本核心就已完成,但這不代表就可以開始使用,我們還要為每個專案建立專屬的資料夾來放置其它必備的檔案。
◆第一個程式:hello world
這裏我們用一個實際的hello world範例來示範如何讓flash 與 php透過amfphp進行溝通。
首先我們在剛才的網頁根目錄下(htdocs)建一個專案資料夾,名稱為 hello,完整路徑為:
C:\Program Files\Apache Group\Apache2\htdocs\hello
然後請下載本文的範例檔案zip檔,將裏面的東西全部解壓縮到hello資料夾內,此時資料夾的內容應該如下圖:
◆ Amfphp gateway的設定
接者我們就仔細看看裏面有些什麼東西,首先我們來看 gateway.php,程式碼如下:
-
<?php
-
include "../flashservices/app/Gateway.php";
-
$gateway = new Gateway();
-
$gateway->setLooseMode(true);
-
$gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");
-
$gateway->setWebServiceHandler('php5');
-
$gateway->setBaseClassPath("services/");
-
$gateway->service();
-
?>
這裏新手最常錯的地方就是第一行,include的設定。一般由於 flashservices核心模組都是放置於web server的根目錄,因此每個專案的子資料夾只要用相對路徑 .. 就可以存取到。但如果你的flashservices路徑不一樣,這裏就要做適當的修改,例如在我使用的hosting主機上(使用linux系統),這個路徑就可能變成:
/home/userrname/website.url/user/apache/htdoc/flashservices
總之這裏請小心確認路徑無誤。
接者第5行的設定也很重要,這裏主要是在設定php該用何種語系處理資料,它的標準格式如下:
setCharsetHandler(string mode, string phpCharset, string sqlCharset)
第一個參數是設定要使用何種方式來重新編碼傳輸的資料,如果是php5的話則可以放使用iconv,這是內建的模組。
第二個參數是設定系統預定的文字編碼方式,如果要用中文的話就改成 utf-8。
第三個參數是設定該如何處理sql query result,也就是recordset的文字編碼,同樣的要用中文請設定成 utf-8。
本來這裏還有第四個參數,是設定 wsCharset (web service charset),但從ms1版本開始這個參數已被預設為utf-8,將來不論是使用SoapClient或 nusoap都會自動讀取 phpCharset的設定為預設值。
所以總之照範例裏的設定直接套用就一定不會錯
最後看一下第7行,這裏是設定server端的程式位置,一般也就是business logic的所在地,或是business delegate的class位置(如果你希望將server端的logic儘量隱藏起來只透過單一管道供flash呼叫的話,這裏就是下手的好地方),預設值是server,這也就是為何解壓縮範例檔後會出現一個同名資料夾的原因。
◆php class的內容
接者我們看一下service資料夾內的Hello.php,這個就是server端的程式,它的地位相當於coldfusion 裏的component(CFC)或java裏的java bean。
它的程式碼如下:
-
<?
-
class Hello
-
{
-
//constructor
-
function Hello()
-
{
-
"description" => "Return hello message to client",
-
"access" => "remote",
-
),
-
);
-
}
-
-
//remote method
-
function sayHello($msg)
-
{
-
-
}
-
}
-
?>
如果你有撰寫php class的經驗,應該馬上會發現這個Hello 就是一個標準的php class檔,透過class keyword來宣告class的啟始,並且在constructor裏有一個method table描述整個class要供外界操作的method。
注意這個method table裏還有許多關鍵字可用,在未來的教學文章裏會依序介紹。這裏我們只用到description, access, arguments三樣。其中access一定要設定成remote,這個method才能為外界所存取,不然就會出現錯誤訊息。
第17行開始我們寫了一個sayHello($msg) ,它會接收遠端傳來的一個參數$msg,然後我們將這個$msg加料後再傳回去。加料的部份是19行最後的time(),我們將目前server的時間傳回flash。
◆flash端程式
接者我們看一下flash端的程式。首先請注意我在timeline的第1格用include的方式將程式碼加進去,這樣我就不用在flash 裏可憐的寫程式碼,而可以用 eclipse或primailscirpt等超強無敵編輯器快樂的寫作;所以你要找程式碼的話,直接打開code.as這個檔案即可。
Code.as的內容:
-
/*
-
@author: jeremy@richtechmedia.com
-
@website: http://ria.richtechmedia.com
-
released under CC 2.5.
-
*/
-
-
//remoting related classes
-
import mx.remoting.Service;
-
import mx.remoting.PendingCall;
-
import mx.remoting.RecordSet;
-
import mx.remoting.debug.NetDebug;
-
import mx.rpc.RelayResponder;
-
import mx.rpc.ResultEvent;
-
import mx.rpc.FaultEvent;
-
-
//start debugging so we can see debug info in NCD.
-
NetDebug.initialize();
-
-
//gateway settings
-
var gateway:String = "http://localhost/hello/gateway.php";
-
respGeneral = new RelayResponder(this, "resultReceived", "resultFailure");
-
_service = new Service(gateway, null, "Hello", null, respGeneral);
-
-
//callback when result was returned from server
-
function resultReceived(re:ResultEvent):Void{
-
trace("message from server> " + re.result);
-
//php returns time in seconds, but flash Date class needs ms hence * 1000
-
var tmp = re.result.split("_")[1]*1000;
-
trace("server time> " + new Date(tmp));
-
};
-
-
//send message to server
-
btnSend.clickHandler = function(){
-
var pc:PendingCall = _service.sayHello(inputText.text);
-
}
一開始我們先將flash remoting需要的class都import進來,這裏要注意的是,flash remoting需要另外下載與安裝,下載的方式有兩種:
1、 下載flash remoting components (v2)並裝入flash
2、 下載flash remoting sources並解壓縮到 mx目錄下。
第一種方式比較簡單,只要安裝mxp即可將remoting元件裝入flash,日後使用時只要直接拖放這個元件到畫面上即可。第二種方式則是直接取回remoting classes並放入flash預設的mx路徑中,這樣做的好處有很多,例如可以三不五時修改一些地方以符合自已的需求,或是將來想用FAME開發時,也可以讓MTASC正確的編譯。
這裏我假設你已經裝好flash remoting 元件的版本,在components裏也可以看到 flash remoting connector這個元件。
第17行我們啟動NetDebug這個偵錯程式,它會將所有的傳輸交易訊息都顯示在NetConnection Debugger(開啟方式 Window > Other Panel > NetConnection Debugger) 裏,方便除錯,它是工程師的好朋友,實在不能一天沒有它…
第20行開始我們設定了將來連線的路徑,注意裏面的hello就是當初我們在htdocs裏建的hello資料夾,而gateway.php就是前一節所介紹的php檔案。
第21行我們設定了一個general responder,也就是一個catch-all的回應物件,只要server端有回傳訊息,就由這裏設定的兩支function去承接與處理。當然remoting處理回傳訊息的方式還有很多種,這裏因為是hello world級的範例就先按下不表。
第22行我們建立了一個 _service object,這是模擬遠端class的一個物件,請特別注意第三個參數 Hello,它是指 C:\Program Files\Apache Group\Apache2\htdocs\hello\services\Hello.php 也就是前一節介紹過的php class。
經過這三行的設定,我們就完成flash內的連線設定,接下來就可以開始呼叫遠端的method囉!
我們先跳到第33行,這裏我們設定了一個按鈕,當按下時它會執行
var pc:PendingCall = _service.sayHello(inputText.text);
也就是透過先前建立的 _serive物件去呼叫server端的sayHello method, 並且將文字框內輸入的內容傳回去。
這邊另外要注意的是PendingCall的使用,由於我們可能同時對server發生多個request,但遠端連線回應的速度通常不是即時的,因此需要PendingCall來個別指定每個request的callback function,將來一堆訊息傳回時才能正確的處理。
最後我們回到第25行,這個function就是負責接收並處理server回傳資料的地方。首先我們在第26行將server傳回的訊息直接trace出來,注意這裏要使用 re.result才能存取到正確的訊息,這是常見的錯誤之一。
接者第28、29行則是將php傳回的date string轉換回flash的Date格式,由於php是以 string的方式處理時間格式,因此這裏我們得辛苦點自已將它再轉回Date object。
到這裏程式碼就告一個段落,我們來執行看看吧!
這是程式執行的畫面,我們輸入一些文字後按下send.
這是flash將輸入文字傳回php的畫面,請注意參數部份正是我們輸入的文字
這是php回傳訊息的畫面,訊息的尾端已加上系統的時間
◆ending
這個例子中我們很簡單的跑了一遍flash + amfphp + php 的執行範例,從flash傳一個文字串回php,並從php傳一個date物件回來。
在真實案例中面對的情況往往會比這個複雜許多,例如至少會跟database互動撈資料互傳,或是進行authentication的認証等,但這些都是後話,在之後的範例中都會解釋。
本文的範例檔案下載。
ps.如果你遇到任何執行上的問題歡迎隨時發問,但請提供必要的背景資料給我,例如使用的作業系統、web server, php版本, amfphp版本以及錯誤訊息、代號或程式碼行數,這樣我能更快瞭解你的問題所在也才能提供正確的答案。


42 Comments Add your own
1. harry&hellip | January 8th, 2006 at 12:32 am
你好,看了你的教程感觉帮助很大,不过我有个问题,就是在as中,把gateway的地址写成相对路进就不行了,比如我的swf和gateway.php在同一个目录下所以我把gateway地址写成"gateway.php"
_service = new Service("gateway.php", null, "Hello", null, respGeneral);
在浏览器中打开swf就不行了,但是写成"http://localhost/....."就可以了
_service = new Service("http://...../gateway.php", null, "Hello", null, respGeneral);
请问这是为什么,有办法解决么?谢谢!
2. jeremy&hellip | January 9th, 2006 at 2:01 am
hi harry, 已回信。
3. 吴德娴&hellip | January 19th, 2006 at 12:45 am
你好,我也同样遇到这样的情况,也能把信发我一封吗??实在是疑惑. 谢谢
4. 吴德娴&hellip | January 19th, 2006 at 1:04 am
您好,我还有一个问题.建立连接的时候用service跟Netservice用什么区别啊?在帮助里面找不到详细信息,不知道相关的介绍应该在哪里找呢??
5. jeremy&hellip | January 19th, 2006 at 1:25 am
Service 與 NetService都是 flash client 端與server連線時採用的 class,Service是 AS2的版本,NetService是 AS1的舊版本。
但它們的底層實際上都是 NetConnection class,只是包的比較好用一點。
6. RitaLee&hellip | January 19th, 2006 at 9:12 am
我自己使用的經驗,
假如你的gateway路徑是 http://localhost/hello/gateway.php
相對路徑要寫 /hello/gateway.php
7. 吴德娴&hellip | January 19th, 2006 at 4:47 pm
楼上的做法好象行不通哦 - -
8. 吴德娴&hellip | January 19th, 2006 at 4:53 pm
成功了,不过要严格写成服务器根目录的相对地址,而且开头的“/”号一定不能少,例如:
http://localhost/flashremoting/helloworld/gateway.php
必须写成
/flashremoting/helloworld/gateway.php
9. jeff&hellip | April 27th, 2006 at 12:24 pm
相对地址可以这么写 /flashremoting/helloworld/gateway.php
但是你的flash的运行环境必须在web环境下。相对地址才有意义。
10. GJ&hellip | May 21st, 2006 at 3:20 pm
以下為我使用軟體
apache_2.0.55-win32-x86-no_ssl
php-4.3.3-Win32
mysql-4.0.14-win
phpMyAdmin-2.5.4-php
Amfphp gateway需另外設定嗎
因為我跑起來有錯誤
11. GJ&hellip | May 21st, 2006 at 5:13 pm
我有已寫好的程式
http://gjyen.myweb.hinet.net/problem.rar
但flash介面都連不到資料庫
我該如何用呢
以下為我使用軟體
apache_2.0.55-win32-x86-no_ssl
php-4.3.3-Win32
mysql-4.0.14-win
phpMyAdmin-2.5.4-php
我是初學者
會是檔案放置路徑問題嗎
請大大教教我
12. jeremy&hellip | May 21st, 2006 at 8:12 pm
hi GJ, 已改好回信到yahoo信箱,我想應該是 gateway.php 跟 service 目錄沒設定好的關係,試試看吧。
13. J&hellip | June 23rd, 2006 at 4:09 am
你好我裝的係php4同amfphp0.9x
唔知要用乜方法先可解決中文問問
我一link MySQL database 係flash 用datagrid出既全都係???
唔知大大識唔識
同想問係咪用php5同amfphp1.x就會自動解決中文問題???
14. jeremy&hellip | June 24th, 2006 at 12:56 am
amfphp 0.9 剛出來時是不支援中文的,後來有大陸的網友改出了中文版。
不過我已經改用 v1.0幾年了,中文都沒問題,或許你可以考慮用這個版本。
15. J&hellip | June 24th, 2006 at 1:15 am
我已改用1.2但依然係MySQL database 係flash 用datagrid出既全都係???
但如果係php度把data轉做string先傳俾flash就無事
但唔就顥得不方便
16. angle&hellip | August 2nd, 2006 at 9:58 am
你好~
這個範例可以用在flash 8的remoting嗎???
關於
import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.remoting.RecordSet;
import mx.remoting.debug.NetDebug;
import mx.rpc.RelayResponder;
import mx.rpc.ResultEvent;
import mx.rpc.FaultEvent;
這個部份~如果是flash8~會有衝突嗎???
因為我練習用的是另外一個文章...
#include "NetServices.as"
#include "NetDebug.as"
這個部份顯示這兩個檔案內的class有錯誤存在...
我用的是MySQL - 5.0.21-standard
phpmyadmin 2.8.04
flash 8
dreamwaver 8
coldfusion mx
可不可以麻煩你幫我看一下呢>"
17. jeremy&hellip | August 2nd, 2006 at 10:05 am
hi Angle, 這個範例可以用在 flash 8,但要先下載 flash 8 專用的 remoting component:
http://tinyurl.com/kucon
#include “NetServices.as”
#include “NetDebug.as”
是舊版 remoting 的語法(應該是 flash 2004時期的),不需要用到了。
18. angle&hellip | August 6th, 2006 at 12:07 pm
那語法應該改成??
那需要這兩個檔案嗎??
還是必須去下載支援flash 8的檔案呢??
如果需要下載~請問哪裡可以找到
謝謝~
那如果不需這兩個檔案~
語法依舊嗎?
19. angle&hellip | August 6th, 2006 at 12:11 pm
請問有apple下載點嗎??
謝謝~
還有想請問一下~因為我是用蘋果電腦所撰寫
那
myService = gateway_conn.getService("Applications.JRun4.servers.cf7.cfusion.MyWeb.gettwday.cfc",this);
是我的路徑,這樣對嗎??謝謝
20. jeremy&hellip | August 8th, 2006 at 10:12 am
remoting component for Flash 8 是用 Actionscript 寫成的元件(其實只是幾個 classes),所以可在 pc/mac 上通用。
至於新式的 remoting 語法就是我在這四篇範例裏使用的用法,把檔案抓回來再copy那些code就可以了。
21. angle&hellip | August 8th, 2006 at 3:38 pm
import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.remoting.RecordSet;
import mx.remoting.debug.NetDebug;
import mx.rpc.RelayResponder;
import mx.rpc.ResultEvent;
import mx.rpc.FaultEvent;
以上這些都是支援flash mx,那我現在是用flash8
actionscript3.0這些地方要怎麼改呢??
22. jeremy&hellip | August 10th, 2006 at 6:41 pm
呃,你寫的這些 import class (例如 mx.remoting.Service) 都可以直接在 Flash 8 裏面用。
另外,Flash 8 只能寫 actionscript 2,要到 Flex 2 or Flash 9 才能寫 AS3。
如果你仍然無法試成功,把檔案寄給我吧,我改好再傳回去。
23. 6&hellip | August 31st, 2006 at 3:42 pm
不好意思~ 新手的問題!!
我是安裝 APPSER
所以沒有路徑C:\Program Files\Apache Group\Apache2\htdocs
怎麼辦??
我只有C:\AppServ\apache
裡面沒有htdocs資料夾
該如何做??
謝謝 ^^%
24. jeremy&hellip | August 31st, 2006 at 5:27 pm
C:\AppServ\apache\www 這個www就等同於範例裏面的 htdoc。
25. Jive&hellip | September 10th, 2006 at 11:14 pm
不好意思 請問一下我的NetConnection Debugger為何不會出現任何資訊 但trace有反應而且也是對的 我用flash8 謝謝~
26. Jive&hellip | September 10th, 2006 at 11:19 pm
不用了 我自已解決了 謝謝:D
27. cgk168&hellip | October 13th, 2006 at 3:33 am
我在FLASH MX 試作時皆出現"全部的 ActionScript 錯誤4" 不知什麼原因?請各位大大幫幫忙
感恩
28. 透透&hellip | October 16th, 2006 at 3:41 pm
您好:看完您的教學釐清了很多觀念,真是受益良多,
但是在執行swf時還是出現了問題.
NetConnection Debugger顯示flash成功的將訊息送出去了,但是沒有收到php方面回傳的訊息.
我在想會不會是路徑設定的問題呢?
所以我將hello資料夾打包起來,以及NetConnection Debugger執行的畫面cut下來,麻煩您幫我看看!!
請到這裡下載我打包好的檔案~~非常感謝您!!
http://munequita.myweb.hinet.net/remoting.zip
29. littlehuang&hellip | December 2nd, 2006 at 1:48 am
Hello, 站長大大:
最近因為要做研究的關係,想要製作一個flash 可以讀取某個source的圖片,再使用Flash做圖片的動態展示 ,使用者可以選取動態展示中的某個圖片,作一些基本操作(放大,縮小,移動,或加上comment),並使用一個文字檔把使用者在Flash中操作的行為紀錄下來. 最近爬文看了一些這方面的文章, 但是還是不大確定要用哪些技術比較恰當,麻煩大大給點意見,感謝 比較詳細的敘述有以下:
1. 圖片的來源可能來自於Google或是Flicker,或是讓使用者browse電腦中的某個資料夾: 以Google為例,我想的流程是… user在Flash的textfield送出要搜尋的圖片關鍵字,按下button送給php,再由php向google picture search engine作查詢,那要怎麼把google送回來的圖片一一顯示在flash當中呢? 也就是flash和search engine之間要怎麼溝通呢? 有沒有類似(不一定要一樣的)的範例可以參考?
2. 因為要把使用者操作圖片的動作紀錄下來存成一個文字檔,我猜應該是要寫到遠端的資料庫,因為Flash對於寫入資料到本機電腦有限制(是不是只能寫到cache,而且有大小限制,所以不適合? 如果我說的有錯,麻煩指正摟) 因此,我猜想大概會用到Flash remoting的技術,所以要安裝RemotingConnector component 和AMFPHP. 而在安裝AMFPHP之前須先安裝Apache, MySql and PHP. 但是我又在一些網頁看到要安裝 flash communication server mx,這是不是舊版的做法,所以可以不用理會?
3. 另外,因為希望能讓多個使用者連到同一個flash展示的網站,可以同時對圖片進行操作(所以畫面中會出現2個以上的滑鼠),這樣的概念跟用flash作多人線上遊戲好像是類似的,所以我從這個方向爬文,發現大家是使用ElectroServer來做…於是我就搞混了@___@ 因為ElectroServer本身就是server,那不就會跟步驟2裡面提到的技術相衝突嗎? 那是不是只要在步驟2和3選出一個方案來做? 我目前猜想的是, 如果是多人連線的話,才需要使用ElectroServer,那是不是意味著使用步驟2的方案的話,沒有辦法做到多人連線的功能? 到底這兩種方案有何差別呢?
4. 最後,有辦法把Flash場景中的東西抓成jpg之類的圖檔(類似screen capture,但是只抓取flash執行的畫面),然後把圖片存到server嗎?
麻煩您指點一下喔,感謝!!
30. jeremy&hellip | December 2nd, 2006 at 11:13 am
to littlehuang:
你的問題很龐大,沒辦法在comment裏詳細回應,我會另外寄信給你。
31. 小愛&hellip | March 23rd, 2007 at 9:27 pm
在哪下載阿
32. bibi&hellip | June 4th, 2007 at 11:51 am
請問~
"下載flash remoting components (v2)並裝入flash"
是至哪裡下載呢?還有怎麼裝入flash?
這跟amfphp不一樣嗎?
>///
33. bibi&hellip | June 4th, 2007 at 2:07 pm
請問~
按send後的畫面,是在哪裡看?
還是按send後,自然就接著顯示了?
34. nick&hellip | August 21st, 2007 at 4:47 pm
您好,
您的說明的確幫助了我安裝FMS,
我依照著上述教學去做,
但是NetConnection Debugger並無顯示任何東西,
有什麼可能的原因呢?
我用的是Appserv.Flash8.PHP5
35. jeremy&hellip | August 21st, 2007 at 5:23 pm
我記得在 flash 8 的面板裏,有一個 component library之類的東西,要把 NetConnection Debug 這個元件拖放到畫面上,才能看到東西。
不過我已經很多年沒用 flash + remoting 了,記憶模糊可能有錯
36. tomxu&hellip | September 6th, 2007 at 9:14 am
老师 您好
我按照你的例子上传到服务器
flashservices hello 两个文件夹都放到根目录了 可是运行 没有反应 难到是我的 php4 的问题吗??? 请问那里可以设置 一下 多谢
http://www.oulaa.com/hello/example.swf
37. momoc_a » Amfphp简&hellip | January 9th, 2008 at 4:37 pm
[...] download, install, hello world [...]
38. jccking&hellip | February 19th, 2008 at 1:59 am
非常謝謝介紹
我是從 google快訊收集到這篇文章
1. 請問是否還有教學2,教學3,...?
2. amfphp應用是否有相關課程/書籍/座談會?
3. 基於使用同樣的AMF協議,用flex開發出的flash,是否同樣可被amfphp執行? (會這樣問,是因Adobe flex課程較多,php相關課程較少)
請老師指點
39. admin&hellip | February 19th, 2008 at 9:25 am
1. 有,請用右上方的搜尋找 Flash Remoting 教學,共四篇
2. 可參考 http://www.amfphp.org/ 裏的文章,或找 WebOrb for PHP 也可以。
3. flex + amfphp 當然可行。
40. 高美士中葡中學-BLO&hellip | February 26th, 2008 at 10:03 am
[...] PLAIN TEXT [...]
41. AMFphp 的简介&hellip | November 16th, 2009 at 1:59 pm
[...] download, install, hello world [...]
42. Flash Remoting类 包 功&hellip | March 26th, 2010 at 1:16 am
[...] download, install, hello world [...]
Trackback this post | Subscribe to the comments via RSS Feed