ブログ つぶやく Check

連載
2004/11/29 20:38 更新

90Xi専用ゲームiアプリ開発講座:
第7回 ネットワークiアプリのためのサーバサイド活用(2) (2/4)


前のページ | 1 2 3 4 | 次のページ

対戦相手を検索する

 対戦相手検索の仕様は次の通りとなる。

アプリからPOSTメソッドで送られる値

UTN=ser*********端末ID
ACTION=0状態フラグ(検索)

 まずアプリから、HTTPのPOSTメソッドで、UTNとACTIONという2つのパラメータが送付される。

 サーバはUTNをユーザーIDに変換して保持する。ACTIONの値が"0"であった場合、サーバはDBのWAITINGテーブルから、今対戦を待っているユーザーがいるかを検索する。待機中ユーザーがいれば、DUELテーブルを初期設定して、対戦IDを発行し、WAITINGテーブル内の対戦相手情報の対戦IDの項目を埋める。対戦IDを仲立ちさせることによって、互いに誰が対戦相手なのかを知らせるのだ。対戦相手のこれまでの戦績を取得して、アプリに返す。

 待機中ユーザーがいなければ、10秒間、WAITINGテーブルの対戦ID情報が変更されるまで待ち続ける。その間に誰かに見つけられたら、DUELテーブルの初期設定と、対戦相手の戦績の取得を行い、アプリに返して終了する。見つけられなければ、エラーとしてアプリに伝える。

期待される返却値

成功時…1/対戦相手の名前/相手の勝数/引分数/負数

失敗時…0

データはURLエンコードした上で、"/"で区切って渡している。

対戦

アプリからPOSTメソッドで送られる値

UTN=ser*********端末ID
ACTION=1状態フラグ(対戦)
CARD=xxカードNO.

 アプリからは、端末IDやフラグに併せ、カードの値も送られてくるので、サーバはそれをDUELテーブルに格納する。そのときに現在のターンをDBに反映させておく。ターン番号と対戦IDをキーとして、相手のカード値を検索し、存在すればアプリに返却する。

 相手のカード値が存在しない場合、待機状態に入る。待機状態に入って10秒たっても、相手のカード値が更新されない場合、タイムアウトとなり相手のカード値を"-1"としてアプリに返す。この場合、無条件で勝利となる。

期待される返却値

成功時1/相手のカードの値
失敗時0

前のページ | 1 2 3 4 | 次のページ

[澤橋辰典・武上将樹,ITmedia]

Copyright© 2012 ITmedia, Inc. All Rights Reserved.


Special

おすすめPC情報テキスト

モバイルショップ

ドスパラ通販は最短当日出荷!
新商品でもお待たせしません!
さらにパソコンは送料無料!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!