Цитата:
Сообщение от Inet_PC
Взял простейший пример отсюда.
PS. Из дебага не работает, нужно класть в webapps/BlazeDs. Почему уже сил разбираться нет.
|
Спасибо, в целом уже сам инфы накопал.
Если кому понадобиться скину простенький, уже готовый классик.

Код AS3:
package
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.Responder;
import flash.net.NetConnection;
/**
* ...
* @author stweet
*/
public class SVRLoader extends EventDispatcher
{
static public const VO_OUT :String = 'out';
static public const VO_ERROR:String = 'error';
private var nc:NetConnection;
private var _path :String = '';
private var _service :String = '';
private var _command :String = '';
private var _param :Object = null;
private var _content :Object = null;
// ////////////////////////////////////////////////////////////////////////////////
public function SVRLoader () { }
// ////////////////////////////////////////////////////////////////////////////////
public function connect ():void {
nc = new NetConnection();
nc.client = this;
nc.objectEncoding = 0;
nc.connect(path);
}
// ////////////////////////////////////////////////////////////////////////////////
public function send ():void {
// Собственно тут и была моя проблема,
// не зная, пытался передать параметры и ждал ответа сервера при соединении,
// чего было делать не надо.
if (param != null) nc.call(service + "." + command, new Responder(result, fault), param);
else nc.call(service + "." + command, new Responder(result, fault));
}
// ////////////////////////////////////////////////////////////////////////////////
private function fault(ar:Object):void { dispatchEvent(new Event('error')); }
// ////////////////////////////////////////////////////////////////////////////////
private function result(ar:Object):void {
content = ar;
dispatchEvent(new Event('out'));
}
// ////////////////////////////////////////////////////////////////////////////////
public function AppendToGatewayUrl (ar:*):void { }
// ////////////////////////////////////////////////////////////////////////////////
public function get content():Object { return _content; }
public function set content(ar:Object):void { _content = ar; }
public function get path():String { return _path; }
public function set path(ar:String):void { _path = ar; }
public function get service():String { return _service; }
public function set service(ar:String):void { _service = ar; }
public function get command():String { return _command; }
public function set command(ar:String):void { _command = ar; }
public function get param ():Object { return _param; }
public function set param (ar:Object):void { _param = ar; }
}
}
Получился свой "RemoteObject" на AS.