透過與 FMS 連線,可以共享 SharedObject 物件資料
但是資料內容僅限於 String、Number、Array 等基礎物件
不過可以使用 SharedObject.send 傳遞自訂類別的物件
以下是範例程式:
FMS SSAS:
application.onConnect = function() { return true; };
自訂類別 MyClass.as:
class MyClass { public var name:String = "MyClass"; public function MyClass() { trace("MyClass();"); } public function fun():Void { trace("fun();"); } }
發布者 ActionScript:
Object.registerClass("MyClass",MyClass); // var nc:NetConnection = new NetConnection(); nc.onStatus = function(infoObj:Object):Void { trace(infoObj.code); switch (infoObj.code) { case "NetConnection.Connect.Success" : so.send("getObj",new MyClass()); break; } }; nc.connect("rtmp:/so_app"); var so:SharedObject = SharedObject.getRemote("so", nc.uri); so.connect(nc);
接受者 ActionScript:
Object.registerClass("MyClass",MyClass); // var nc:NetConnection = new NetConnection(); nc.onStatus = function(infoObj:Object):Void { trace(infoObj.code); switch (infoObj.code) { case "NetConnection.Connect.Success" : break; } }; nc.connect("rtmp:/so_app"); var so:SharedObject = SharedObject.getRemote("so", nc.uri); so.getObj = function(obj) { trace("so.getObj();"); trace(obj.name); obj.fun(); }; so.connect(nc);
最主要的關鍵步驟是 Object.registerClass("MyClass",MyClass);
同理也可以利用類似做法在 FMS SSAS 與 Client AS 之間共享類別物件