NetConnection을 통해 다른 클라이언트에 복잡한 유형의 객체 (Flex에서 RemoteClass로 표시됨)를 보내야합니다.NetConnection을 통해 복잡한 유형을 FMS로 릴레이하는 방법은 무엇입니까?
[RemoteClass]
public class ComplexType
{
public var _someString:String;
public var _someInt:int;
}
... 그리고 사용 ...
_nc = new NetConnection();
_nc.connect("rtmp://localhost/echo/");
_nc.addEventListener(NetStatusEvent.NET_STATUS, _onNetStatus);
_nc.client = {};
_nc.client.echoCallback = _echoCallback;
var dto:ComplexType = new ComplexType();
dto._someInt = 4;
dto._someString = "abrakadabra";
_nc.call("echo", null, dto);
는, 서버 측이 콜백 함수는 강력한 형식의 객체를 이해하지 못하는 것 같습니다이 다시 보냅니다 그러나
:private function _echoCallback(...args):void
{
trace(ObjectUtil.toString(args));
/*
(Array)#0
[0] (Object)#1
_someInt = 4
_someString = "abrakadabra"
*/
}
을
서버 쪽 모양 :
application.onAppStart = function() {
trace("Application.onAppStart > application started");
Client.prototype.echo = function (complexType /*ComplexType*/) {
trace("Client.echo > calling echo");
application.broadcastMsg("echoCallback", complexType);
}
}
NetConnection을 통해 강력한 형식의 객체를 릴레이하는 방법이 있습니까?
EDIT1 : ObjectUtil.toString 첨가 콜백 함수 소스 코드의 사용을 송신하는()의 출력
서버가 전송하려고하는 클래스를 "알고 있습니까?" ComplexType을 해결하려면 클래스 파일을 양쪽 끝에 포함해야합니다. – weltraumpirat
FMS 4에서 사용자 정의 클래스는 어떻게 정의합니까? 나는 단지 물건을 중계하고 싶다. –