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);

私は Developer ライセンスを使用しているので、SharedObjects が機能するはずです。

4

1 に答える 1

0

あなたの rtmp アドレスは次のとおりです: rtmp://127.0.0.1/live localhost への接続ではありませんか? localhost に接続するときは、インターネット IP アドレスの代わりに rtmp:/127.0.0.1/live を使用することになっていると思います (つまり、スラッシュを 1 つだけ使用します)。

于 2012-12-14T21:09:19.630 に答える