MySQL・ログイン@HIROBA
こんにちはー
今日は、サーバーサイドプログラムですー
とりあえず、キャラ動かすのに座標を取得しなくては。
形式はAs3<=>PHPなので、ライブラリあるしJSONでいこうかな。
#yum -y install php-pecl\* #yum -y install php-devel #pecl install json
システムが生成したファイルにjson.soが生成されるので、それを~/modulesにコピー。
php.iniで
extension=json.so
書いてhttpd再起動っと。おk
PHPテストコード
$obj = array( array('id' => 0, 'name' => 'aaa', array('hogehoge' => 'hogehogeAA')), array('id' => 1, 'name' => 'BBB', array('hogehoge' => 'hogehogeBB')), array('id' => 2, 'name' => 'ccc', array('hogehoge' => 'hogehogeCC')) ); $json = json_encode($obj); echo $json;
あとは、AS3側でJSONライブラリ(SWC)設定して。できました。
HIROBAの流れですが、
1、ログイン要求
2、識別ID発行
3、キャラクター座標通知
4、キー入力通知
となっています。
とりあえず、
1、ログイン要求をつくりましょう。
解像度?のせいで横になってしまう・・・
見にくい点はごめんなさい。
ログインは、DBのキャラクター制御テーブルにキャラ座標を追加することで実装。
クライアントは全てのキャラクターの座標を取ってすべて表示するしくみです。
んー今日はですね、MySQLとの接続クラス、ログイン機能を実装しますた。
一応、ログイン機能でIDを発行しているのですが、割り込みがあるといけないので、排他制御しています。手順は下記
ロック
↓
トランザクション開始
↓
SQL(いくつか)
↓
トランザクション終了
↓
ロック解除
一応、トランザクションが必要なSQL数ではないですが、正確にID登録・取得できない場合を考慮して入れてあります。
デッドロックか・・・また、考えよう。