К примеру вот это на сервере, в файле call.php (он дальше указан в классе as3):

PHP код:
$method = $_POST['method']; // получаем название переданного метода
if ($method == "getSomeData") {
echo "reply=someData";
}
А так выглядит класс в as3, который получает данные с сервера

Код AS3:
package {
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
public class Packet {
public static const HOST: String = "http://server.com/";
public static const SCRIPT: String = "call.php";
private var _callback: Function = null;
/**
*
* @param называние метода, который нужно вызывать на сервере, передается в
* POST с ключом method
* @param callback метод который вызывается после прихода ответа от сервера
* должен принимать один параметр типа Object
*/
public function Packet(method:String, callback:Function, params:Object = null) {
_callback = callback;
var loader: URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
var vars:URLVariables = new URLVariables();
vars['method'] = method;
if (params != null) {
for (var i:String in params) {
vars[i] = params[i];
}
}
var rand: String = "?" + int(Math.random() * 10000);
var request:URLRequest = new URLRequest(Packet.HOST + Packet.SCRIPT + rand);
request.method = URLRequestMethod.POST;
request.data = vars;
trace(request.data.toString());
try {
loader.load(request);
} catch (e:Error) {
trace(e.getStackTrace());
}
}
private function onSecurityError(e:SecurityErrorEvent):void {
e.target.removeEventListener(Event.COMPLETE, onComplete);
e.target.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
e.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
}
private function onIOError(e:IOErrorEvent):void {
e.target.removeEventListener(Event.COMPLETE, onComplete);
e.target.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
e.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
trace("INPUT / OUTPUT ERROR");
}
private function onComplete(e:Event):void {
e.target.removeEventListener(Event.COMPLETE, onComplete);
e.target.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
e.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
var data:Object = e.target.data as Object;
trace("PACKET DATA:", this, unescape(String(data)));
if (_callback != null) {
_callback.call(null, data);
}
}
}
}
Используется так:

Код AS3:
var packet:Packet = new Packet("getSomeData", onReply); // передаем название метода, который нужно вызвать, и обработчик ответа
function onReply(params:Object):void {
trace(params.reply);
}
Собственно, можно примерно так. Естественно это упрощенный вариант, без каких-либо намеков на безопасность