我不确定它是如何处理的,所以我想问一下。
新一代 MMORPG 游戏正在尝试将其交易站(拍卖)系统连接到网络服务器上,因此玩家即使在手机上也可以轻松使用它。
最后一个例子是激战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++ 应用程序)如何知道商品是否已售出或发生故障?网络服务器是否返回 XML/JSON 输出进行验证?
就像,网络服务器返回这个;
// 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 拍卖行的开发商询问了这个问题,但他告诉我他不能分享这方面的信息。
那么,基本上,它是如何工作的?网络服务器的 JSON/XML 输出还是完全不同的东西来承载数据?
任何帮助,将不胜感激。
附言。它不是 TCP 连接。拍卖行本身在 80 端口上运行,后端使用 PHP 之类的语言进行编码。