flashからサーバのphpにアクセス

By | 2013/02/08

flashからサーバへリクエストを送るときのコード。
ActionScript3からLoadVarsが無くなってURLRequestになったらしいから使い方を調べた。もっと良いライブラリがあるようだけど練習ということで。

このサンプルではflashでボタンを押すとphpへリクエストして返ってきたデータを受け取ってtrace()で出力しています。「サーバPHPへのアドレス」を適宜変更する必要があります。

ActionScript3側のコード。
Main.as

package{
  import flash.display.MovieClip;
  import flash.events.Event;
  import flash.events.MouseEvent;
  import flash.events.KeyboardEvent;
  import flash.ui.Keyboard;
  import flash.net.*;

  public class Main extends MovieClip{

    public function Main(){
      sendButton.addEventListener(MouseEvent.CLICK, onSendButtonClick);
    }

    /*
      メッセージの送信
    */
    function onSendButtonClick(event:MouseEvent):void{

      // リクエスト作成
      var req = new URLRequest(サーバPHPへのアドレス);
      req.method = URLRequestMethod.POST;
      var variables = new URLVariables();
      variables.com = "送信テキスト!";
      req.data = variables;

      // リクエスト送信
      var loader = new URLLoader();
      loader.addEventListener(Event.COMPLETE, onLoadComplete);
      loader.load(req);
    }

    /*
      メッセージ受信終了後の処理
    */
    function onLoadComplete(event:Event):void{

      var loader = event.currentTarget as URLLoader;
      var xml:XML = new XML(loader.data);
      var str = loader.data as String;

      // 受信結果
      trace(str);
    }
  }
}

php側のコード
test.php

<?php
  $component = $_POST['com'];
  print "----\n";
  print $component;
?>

コメントを残す

メールアドレスが公開されることはありません。