サーバーとの通信

サーバーと通信するには、_LoadVars クラスを使用します。

通信の流れを説明していきます。

| 変数をサーバーに送信

サーバー側に、Perl/CGIまたはPHPのスクリプトを用意します。以下の例では、変数 user を受け取り、変数 image1、image2、image3 を返します。

Perl/CGIスクリプト例 | PHPスクリプト例
#!/usr/bin/perl use CGI; $cgi = new CGI; $user = $cgi->param( 'user' ); print "Content-type:text/plain\n\n"; print "image1=$user/00.swf"; print "&image2=$user/01.swf"; print "&image3=$user/02.swf"; | <?php $user = $_POST["user"]; header( "Content-type:text/plain" ); echo "image1=" . $user . "/00.swf"; echo "&image2=" . $user . "/01.swf"; echo "&image3=" . $user . "/02.swf"; ?>

送信する変数を用意します。

var vars:LoadVars = new LoadVars(); vars.user = "guest"; // 変数の構築および設定

_LoadVars クラスの connect() メソッドで送信します。以下の例は、サーバー側がCGIの場合です。

var lv:_LoadVars = new _LoadVars( this ); lv.connect( "test.cgi", vars, "POST" );

なお、携帯では、キー押下時に connect() メソッドを実行する必要があります。processEvent() メソッド内で、イベントのタイプが _KEY_PRESSED_EVENT の時に行ってください。1つのキー押下イベントで、1つだけ connect() メソッド実行ができます。

| 通信中のステータス検知

通信中、_LoadVars クラスの busy() メソッドの戻り値が true になります。

| 変数をサーバーから受信

_Main クラスを継承したクラスオブジェクトの onLoadVars() メソッドが呼び出されますと、通信完了したことを示します。

onLoadVars() メソッド内で、変数の値を見ることができます。

var img1:String = new String( "" ); var img2:String = new String( "" ); var img3:String = new String( "" ); function onLoadVars( success:Boolean, vars:LoadVars ):Void { if( success ) { img1 = vars.image1; img2 = vars.image2; img3 = vars.image3; } }