FMS 4.0 を使用しています。以前に使用した Remote SharedObject を使用しようとしていますが、何も機能していないようです。最も単純な例でさえ機能しません。SO インスタンスでイベントはトリガーされません (NetStatusEvent または SyncEvent はありません)。例外も何もありません。
import flash.net.NetConnection;
import flash.net.SharedObject;
import flash.events.NetStatusEvent;
import flash.events.AsyncErrorEvent;
import flash.events.SyncEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
var nc:NetConnection = new NetConnection();
var so:SharedObject;
var url:String = "rtmp://127.0.0.1/live";
var tm:Timer = new Timer(1000);
nc.client = {};
nc.addEventListener(NetStatusEvent.NET_STATUS, function(event:NetStatusEvent):void {
trace("nc netstatus event", event.info.code);
if (event.info.code !== "NetConnection.Connect.Success") {
return;
}
so = SharedObject.getRemote("settings", nc.uri, true);
so.client = {};
so.addEventListener(AsyncErrorEvent.ASYNC_ERROR, trace);
so.addEventListener(NetStatusEvent.NET_STATUS, function(event:NetStatusEvent):void {
trace("so netstatus event", event.info.code);
});
so.addEventListener(SyncEvent.SYNC, function(event:SyncEvent):void {
trace("so synced");
trace("time", so.data.time);
});
so.connect(nc);
tm.start();
});
tm.addEventListener(TimerEvent.TIMER, function(event:TimerEvent):void {
trace("tick");
so.setProperty("time", new Date().toString());
});
nc.connect(url);
私は Developer ライセンスを使用しているので、SharedObjects が機能するはずです。