どのように扱われているのかわからないので、質問したかったのです。
新世代の MMORPG ゲームは、トレーディング ポスト (オークション) システムを Web サーバー上で橋渡ししようとしているため、プレーヤーは携帯電話からでも問題なく使用できます。
最後の例は Guild Wars 2 です。基本的に、システムは次のように機能します。
1. You login a locally running client.
2. Open up the auction house in game client. (like HTML frames in this case)
3. The auction house connects to a webserver instead of sending packets to actual game server, like auctionhouse.guildwars2.com, which is also accessable via browser.
4. You want to sell your Sword, if the auction house successfully takes the Sword, it gets deleted from user inventory (client) and server, hence, client somehow gets informed by webserver reply.
だから... 私は推測しています... ローカルで実行されているクライアント (C++ アプリケーション) は、アイテムが販売されたか、何かが失敗したかをどのように認識しますか? Web サーバーは検証のために XML/JSON 出力を返しますか?
同様に、webserver はこれを返します。
// XML reply
<auctionResponse>
<itemId>184818478A</itemId>
<success>Successful</success>
<verifyKey>AG8918ADHWDHA</verifyKey>
</auctionResponse>
クライアントはそれを次のようにチェックします。
if(auctionHouse.auctionResponse == 'Successful')
{
if(auctionHouse.auctionResponse == getVerifyKeyFromServer()) //so the server confirms
{
DeleteFromInventory(auctionHouse.itemId); //item will be removed from user inventory
}
}
GW2のオークションハウスの開発者に聞いてみたのですが、情報を共有できないとのことでした。
では、基本的にはどのように機能するのでしょうか。Web サーバーによる JSON/XML 出力またはデータを運ぶためのまったく別のものですか?
どんな助けでも大歓迎です。
Ps。これは TCP 接続ではありません。オークション ハウス自体はポート 80 で実行され、バックエンドは PHP などの言語でコーディングされています。