AS3利用AMFPHP與PHP進行通訊

來源:互聯網
上載者:User

首先,說下具體配置,PHP版本:5.2.5,apache:2.2.11,amfphp:1.9版本,windows xp系統。

注意:amfphp的不同的版本與php不同的版本會有衝突。具體檢測方法是:在web根目錄下解壓amfphp後,訪問該url: http://localhost/amfphp/browser/,如果沒有報任何錯誤,那麼恭喜你。如果有錯誤,請更換amfphp的版本。

經我的測驗,上面那個配置是不會有問題的。

方法步驟:
1、聲明一個NetConnection,選擇使用AMF3協議,現在一般都用AMF3
2、聲明一個Responder對象,該對象在 NetConnection.call() 中使用以處理來自與特定操作成功或失敗相關的伺服器的傳回值。
3、用NetConnection.call()讀取PHP裡面的方法,NetConnection.call(command:String, responder:Responder)。
Responder裡兩個函數參數,第一個,如果對伺服器的調用成功並返回結果,則此函數被調用。例子中的onSuccess。

第二個, 如果伺服器返回一個錯誤,則此函數被調用。例子中的,onError。

 

 1 package   2 { 3     import flash.display.Sprite; 4     import flash.events.*; 5     import flash.net.NetConnection; 6     import flash.net.ObjectEncoding; 7     import flash.net.Responder; 8      9     /**10      * ...11      * 12      * 13      */14     public class ASWithPHP_2 extends Sprite 15     {16         private var connection:NetConnection = new NetConnection();17         private var rsp:Responder = new Responder(onSuccess, onError);18         private var phpUrl:String = "PHP地址"; //注意是字串,而不是URLRequest19         20         public function ASWithPHP_2() 21         {22             init();23         }24         25         private function init():void 26         {27             connection.objectEncoding = ObjectEncoding.AMF3; //選擇AMF3協議28             connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);29             connection.connect(phpUrl); //串連後台PHP地址30             connection.call("PHP裡面的方法", rsp);31         }32         33         private function onNetStatus(e:NetStatusEvent):void 34         {35             switch(e.info.code) {36                 case "NetConnection.Connect.Success":37                 trace("串連成功");38                 break;39                 40                 case "NetStream.Play.StreamNotFound":41                 trace("沒有找到:" + phpUrl);42                 break;43             }44         }45         46         private function onSuccess(obj:Object):void {47             trace("OK:" + obj);48         }49         50         private function onError(_obj:Object):void {51             trace("錯誤");    52         }53     }54 55 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.