zoukankan      html  css  js  c++  java
  • AS3利用AMFPHP与PHP进行通讯

    首先,说下具体配置,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地址"; //注意是字符串,而不是URLRequest
    19         
    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 }
  • 相关阅读:
    Spring boot unable to determine jdbc url from datasouce
    Unable to create initial connections of pool. spring boot mysql
    spring boot MySQL Public Key Retrieval is not allowed
    spring boot no identifier specified for entity
    Establishing SSL connection without server's identity verification is not recommended
    eclipse unable to start within 45 seconds
    Oracle 数据库,远程访问 ora-12541:TNS:无监听程序
    macOS 下安装tomcat
    在macOS 上添加 JAVA_HOME 环境变量
    Maven2: Missing artifact but jars are in place
  • 原文地址:https://www.cnblogs.com/bulolo/p/2776313.html
Copyright © 2011-2022 走看看