2013-03-12 4 views
0

Вот упрощенная версия некоторых флэш-код, который я использую, чтобы получить имя пользователя, играющего в игру:Отправка запросов от вспышки

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 для Firefox, я могу видеть, что запрос отправляется из Flash и даже может его редактировать, если я захочу.

Этот подход кажется очень медленным по сравнению с другими онлайн-играми, и при попытке перепроектировать другие игры, чтобы увидеть, как они управляют чем-то подобным, для некоторых игр запросы не отображаются в Tamper Data.

Итак, интересно, есть ли альтернативные способы отправки запросов во Flash, которые быстрее и эффективнее? Мне не нужно ничего такого, как отправка почтовых данных или редактирование реферального URL.

Спасибо.

ответ

0

Возможно, в других играх используются соединения сокетов. Это причина, по которой вы не видите запрос в Tamper Data и почему они имеют лучшую производительность.

В случае подключения сокета вы открываете соединение с сервером один раз, и вы можете сделать столько запросов, сколько пожелаете.

С HTTP, TCP-соединение открыто и закрыто для каждого запроса, это влияет на производительность.

С сокетными соединениями вы можете полностью исключить протокол HTTP, вы можете проектировать свой протокол намного легче, чем HTTP. На самом деле никто не использует HTTP, если вам нужна высокая производительность.

мигающего гнездо документация здесь: Socket

P.S.

Для высокой производительности лучше использовать UDP вместо TCP, но сокеты со вспышкой ограничены TCP, поэтому вам не нужно об этом позаботиться.

+0

Большое спасибо за ваш ответ. Я рассмотрю использование сокетов и дам вам знать, как это происходит. – CHRIS

Смежные вопросы