2012-10-21 48 views
0

我正在使用FMS 4.0。我试图使用远程共享对象,这是我以前使用的,但似乎没有任何工作。即使最简单的例子也不起作用。 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应该可以工作。

回答

0

您的rtmp地址是:rtmp://127.0.0.1/live 是不是连接到本地主机?我想你应该使用 rtmp:/127.0.0.1/live 当你连接到本地主机而不是互联网IP地址时(即只用一个斜杠)