Flash Remoting 教學 1 – 下載、安裝與hello world

In tutorials   August 1, 2005 - 12:38 am

◆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:
  1. <?php
  2.         include "../flashservices/app/Gateway.php";
  3.         $gateway = new Gateway();
  4.         $gateway->setLooseMode(true);
  5.     $gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");
  6.     $gateway->setWebServiceHandler('php5');
  7.         $gateway->setBaseClassPath("services/");
  8.         $gateway->service();
  9. ?>

這裏新手最常錯的地方就是第一行,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的設定為預設值。

所以總之照範例裏的設定直接套用就一定不會錯 :P

最後看一下第7行,這裏是設定server端的程式位置,一般也就是business logic的所在地,或是business delegate的class位置(如果你希望將server端的logic儘量隱藏起來只透過單一管道供flash呼叫的話,這裏就是下手的好地方),預設值是server,這也就是為何解壓縮範例檔後會出現一個同名資料夾的原因。

◆php class的內容

接者我們看一下service資料夾內的Hello.php,這個就是server端的程式,它的地位相當於coldfusion 裏的component(CFC)或java裏的java bean。

它的程式碼如下:

PHP:
  1. <?
  2. class Hello
  3. {
  4.     //constructor
  5.     function Hello()
  6.     {
  7.         $this->methodTable = array(
  8.             "sayHello" => array(
  9.                 "description" => "Return hello message to client",
  10.                 "access"      => "remote",
  11.                 "arguments"   => array("")
  12.             ),
  13.         );
  14.     }
  15.  
  16.     //remote method
  17.     function sayHello($msg)
  18.     {
  19.         return "Amfphp welcomes you: " . $msg . " current time_" . time();
  20.  
  21.     }
  22. }
  23. ?>

如果你有撰寫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的內容:

Actionscript:
  1. /*
  2. @author: jeremy@richtechmedia.com
  3. @website: http://ria.richtechmedia.com
  4. released under CC 2.5.
  5. */
  6.  
  7. //remoting related classes
  8. import mx.remoting.Service;
  9. import mx.remoting.PendingCall;
  10. import mx.remoting.RecordSet;
  11. import mx.remoting.debug.NetDebug;
  12. import mx.rpc.RelayResponder;
  13. import mx.rpc.ResultEvent;
  14. import mx.rpc.FaultEvent;
  15.  
  16. //start debugging so we can see debug info in NCD.
  17. NetDebug.initialize();
  18.  
  19. //gateway settings
  20. var gateway:String = "http://localhost/hello/gateway.php";
  21. respGeneral = new RelayResponder(this, "resultReceived", "resultFailure");
  22. _service = new Service(gateway, null, "Hello", null, respGeneral);
  23.  
  24. //callback when result was returned from server
  25. function resultReceived(re:ResultEvent):Void{
  26.     trace("message from server> " + re.result);
  27.     //php returns time in seconds, but flash Date class needs ms hence * 1000
  28.     var tmp = re.result.split("_")[1]*1000;
  29.     trace("server time> " + new Date(tmp));
  30. };
  31.  
  32. //send message to server
  33. btnSend.clickHandler = function(){
  34.     var pc:PendingCall = _service.sayHello(inputText.text);
  35. }

一開始我們先將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版本以及錯誤訊息、代號或程式碼行數,這樣我能更快瞭解你的問題所在也才能提供正確的答案。

by admin

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 了,記憶模糊可能有錯 :D

  • 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 [...]

留言回應

hidden

您的留言會先經過站長認証後才刊登在網站上。
your comments will be approved by Administrator before appearing on the page.

Trackback this post  |  Subscribe to the comments via RSS Feed

mobile phone