0

我正在使用 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 应该可以工作。

4

1 回答 1

0

你的 rtmp 地址是: rtmp://127.0.0.1/live 那不是和 localhost 的连接吗?我认为当您连接到 localhost 而不是互联网 IP 地址时,您应该使用 rtmp:/127.0.0.1/live(即只使用一个斜杠)

于 2012-12-14T21:09:19.630 回答