サーバーとの通信

サーバーと通信するには、_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;
    }
  }