我正在使用 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);
我使用的是开发者许可证,所以 SharedObjects 应该可以工作。