0

这是我用来获取玩游戏的人的用户名的一些 Flash 代码的简化版本:

var req:URLLoader = new URLLoader();
req.addEventListener(Event.COMPLETE, onLoaded);
req.load(new URLRequest(baseURL + "php/account.php?getUsername"));
function onLoaded(e:Event):void {
    if(e.target.data == "Guest") {
        LoadingText.text = "Welcome, Guest!"
    }
    else {
    LoadingText.text = "Welcome, " + e.target.data + "!";
    }
}

php/account.php?getUsername 只是从 PHP 会话变量中获取用户名并将其输出。

使用诸如 Tamper Data for Firefox 之类的东西,我可以看到从 Flash 发送的请求,甚至可以根据需要对其进行编辑。

与其他在线游戏相比,这种方法感觉非常慢,并且在尝试对其他游戏进行逆向工程以查看它们如何管理此类事情时,对于某些游戏,请求不会出现在 Tamper Data 中。

所以我想知道,有没有其他更快、更高效的 Flash 请求方法?我不需要任何花哨的东西,例如发送帖子数据或编辑推荐 URL。

谢谢。

4

1 回答 1

0

很可能其他游戏使用套接字连接。这就是为什么您在 Tamper Data 中看不到请求以及它们具有更好性能的原因。

在套接字连接的情况下,您打开与服务器的连接一次,您可以根据需要发出任意数量的请求。

使用 HTTP,TCP 连接会为每个请求打开和关闭,这会影响性能。

使用套接字连接,您可以完全避免 HTTP 协议,您可以设计比 HTTP 更轻量的协议。事实上,当您需要高性能时,没有人使用 HTTP。

请参阅此处的闪存套接字文档:套接字

附言

为了获得高性能,最好使用 UDP 而不是 TCP,但闪存套接字仅限于 TCP,因此您无需注意这一点。

于 2013-03-12T19:43:43.407 回答