Для простого общения существует три распространенных способа:
LoadVar
(AS2) / URLLoader
(AS3)
Это исторически первый метод, используемый Flash для получения данных с помощьюHTTP с сервера.
ex:
//params.txt is a local file that includes: firstName=Tom&lastName=Jones
var lbl:TextField = new TextField();
var urlRequest:URLRequest = new URLRequest("params.txt");
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
function urlLoader_complete(evt:Event):void {
lbl.text = urlLoader.data.lastName + "," + urlLoader.data.firstName;
addChild(lbl);
}
Это довольно быстро для чтения из Flash, но это не так просто сделать на стороне сервера, так как синтаксис действительно специфичен для Flash.И становится действительно плохо, когда имеешь дело со сложными объектами.Если вам нужно отправить некоторые данные на сервер, вы можете либо поместить их в виде GET-параметров в URL, либо использовать URLVariables , что очень похоже на URLLoader.data
.
XML
Легко читается человеком, многие библиотеки существуют на стороне сервера.В AS3 синтаксис E4X облегчает анализ, чем в прежней AS2.В любом случае это полезно для данных, напечатанных вручную, не так просто использовать с динамическими данными.Основной кон остается
Ну, это огромная трата времени;тратится много ресурсов на выяснение, какую схему использовать, реализацию кода на сервере и клиенте и отладку.Все это с целью создания на сервере чего-то, что вы немедленно уничтожаете на стороне клиента.
Эта цитата взята из AMFPHP, который является ... третьим способом!
AMFPHP (сейчас Zend AMF)
Это лучший (среди простых способов) способ связи с сервером через Flash.Связь осуществляется с помощью веб-сервисов.Флэш-сторона реализация существует изначально (посмотрите NetConnection ).На стороне сервера AMF [независимо от того, какой язык вы используете на стороне сервера], позволит вам использовать типизированный объект и отправлять их непосредственно на флэш-память без какого-либо ручного преобразования.Вы также можете отправить некоторые данные из Flash, не преобразовывая их, и вы найдете типизированный объект на сервере.Это совершенно идеально.
Подводя итог: URLLoader хорошо, если у вас есть, скажем, 3 переменные (для очень маленьких проектов). XML идеально подходит, если у вас достаточно большой объем статических данных (файл конфигурации). AMF идеально подходит для работы с сервером, который вводит динамические данные (из базы данных).