ホームページ  >  記事  >  バックエンド開発  >  AS3 と PHP の間で通信する 5 つの方法 (HTTP プロトコルに基づく)_PHP チュートリアル

AS3 と PHP の間で通信する 5 つの方法 (HTTP プロトコルに基づく)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:47:361002ブラウズ

まず HTTP プロトコルに基づいており、次に主に次の 5 つの方式があります。

/**

*これはHTTPプロトコルに基づいています

※全部で5つの方法を紹介します

​*/

パッケージ

{

flash.display.Sprite をインポートします。

flash.events.* をインポートします。

flash.net.URLLoader をインポートします。

flash.net.URLRequest をインポートします。

flash.net.URLVariables をインポートします。

flash.net.URLRequestMethod をインポートします。

flash.net.URLLoaderDataFormat をインポートします

flash.net.URLRequestHeader をインポートします。

flash.utils.ByteArray をインポートします。

/**

     * ...

     * @作者....Li灬Star

     * @連絡先...QQ:168527720

    */

パブリック クラス ASWithPHP_1 はスプライトを拡張します

{

プライベート変数 urlLoader:URLLoader;

プライベート var phpUrl:URLRequest;

パブリック関数 ASWithPHP_1()

                                                            

;

}

プライベート関数 init():void

                                                            

urlLoader = 新しい URLLoader();

phpUrl = 新しい URLRequest("PHP アドレス");

                                         

/**

* 1つ目: PHPでデータを直接読み込む

                               */

//------------------------------------------------ ------------------------

urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;

/**

* URLLoaderDataFormat.BINARY:String---->ダウンロードされたデータを生のバイナリ データの形式で受信するように指定します

* URLLoaderDataFormat.TEXT:String----> ダウンロードしたデータをテキスト形式で受信するように指定します

;

* URLLoaderDataFormat.VARIABLES:String---->ダウンロードされたデータを URL エンコードされた変数の形式で受信するように指定します

                               */

urlLoader.load(phpUrl);

urlLoader.addEventListener(Event.COMPLETE, completeHandler1);

//------------------------------------------------ ------------------------

                                         

/**

​​​​​​​

                               */

//------------------------------------------------ ------------------------

urlLoader.load(phpUrl);

urlLoader.addEventListener(Event.COMPLETE, completeHandler2);

//------------------------------------------------ ------------------------

                                         

/**

* 3 番目の方法: GET メソッドを通じてパラメータを PHP に渡します

                               */

//------------------------------------------------ ------------------------

phpUrl.method = URLRequestMethod.GET

phpUrl.data = "転送されるデータ"

urlLoader.load(phpUrl);

urlLoader.addEventListener(Event.COMPLETE, completeHandler3);

//------------------------------------------------ ------------------------

                                         

/**

* 4 番目の方法: POST メソッドを通じてパラメータを PHP に渡します www.2cto.com

                               */

//------------------------------------------------ ------------------------

phpUrl.method = URLRequestMethod.POST;

var vars:URLVariables = 新しい URLVariables();

vars.value1 = "パラメータ 1";

vars.value2 = "パラメータ 2";

phpUrl.data = vars;

urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;

urlLoader.load(phpUrl);

urlLoader.addEventListener(Event.COMPLETE, completeHandler4);

//------------------------------------------------ ------------------------

                                         

/**

※5つ目の方式:バイナリ通信方式

                               */

//------------------------------------------------ ----------------------------

var requestHeader:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

phpUrl.method = URLRequestMethod.POST;

phpUrl.requestHeaders.push(requestHeader);

var byteArr:ByteArray = new ByteArray();

byteArr.writeByte(12);

byteArr.writeUTF("CNSloppyMan");

var sendData:ByteArray = new ByteArray();

sendData.writeInt(byteArr.length);

sendData.writeBytes(byteArr);

phpUrl.data = sendData;

urlLoader.dataFormat = URLLoaderDataFormat.BINARY;

urlLoader.load(phpUrl);

urlLoader.addEventListener(Event.COMPLETE, completeHandler5);

//------------------------------------------------ --------------------------------

}

プライベート関数 completeHandler1(e:Event):void

                                                            

var vars:URLVariables = URLVariables((e.currentTarget as URLLoader).data);

Trace("Accept data:" + vars.value); // value は PHP のカスタム ノード値であると仮定します

}

プライベート関数 completeHandler2(e:Event):void {

var xml:XML = new XML((e.currentTarget as URLLoader).data);

Trace("xml データ:" + xml.toString());

}

プライベート関数 completeHandler3(e:Event):void {

Trace ("渡されたデータを取得:" + (e.currenttarget as urlloader) .data);

}

プライベート関数 completeHandler4(e:Event):void {

Trace ("渡されたポストデータ:" + (URLloader としての e.currenTtarget) .data);

}

プライベート関数 completeHandler5(e:Event):void {

var _byteArr:ByteArray = e.currentTarget.data as ByteArray

;

トレース(_byteArr.readInt()); //14

トレース(_byteArr.readByte()); //12

トレース(_byteArr.readUTF()); //CNSloppyMan

}

}

}

リー・ミンシンさんのコラムより抜粋

http://www.bkjia.com/PHPjc/478494.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/478494.html

まず HTTP プロトコルに基づいており、次に主に次の 5 つの方式があります。 /**※HTTPプロトコルをベースにしています ※合計5つのメソッドを紹介しています*/ package { import flash.display.Sprite;...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。