まず 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.htmlwww.bkjia.comtrue
http://www.bkjia.com/PHPjc/478494.html