Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3:SharedObject在管理控制台中不可见_Actionscript 3_Shared Objects_Flash Media Server - Fatal编程技术网

Actionscript 3 AS3:SharedObject在管理控制台中不可见

Actionscript 3 AS3:SharedObject在管理控制台中不可见,actionscript-3,shared-objects,flash-media-server,Actionscript 3,Shared Objects,Flash Media Server,我在localhost上使用“Adobe media server Starter 5”创建了一个媒体服务器,我可以通过AS3 AIR应用程序连接到它。我可以在“Adobe Media Server管理控制台”中看到名为“SimpleServer”的应用程序中的连接,我得到了关于该连接的积极反馈: 已接受来自IP:127.0.0.1、引用者:app:/SimpleServer.swf、pageurl: 当我试图创建一个新的SharedObject时,我既没有得到编译时错误,也没有得到运行时错误,

我在localhost上使用“Adobe media server Starter 5”创建了一个媒体服务器,我可以通过AS3 AIR应用程序连接到它。我可以在“Adobe Media Server管理控制台”中看到名为“SimpleServer”的应用程序中的连接,我得到了关于该连接的积极反馈:

已接受来自IP:127.0.0.1、引用者:app:/SimpleServer.swf、pageurl:

当我试图创建一个新的SharedObject时,我既没有得到编译时错误,也没有得到运行时错误,我根本没有得到任何反馈。我正在使用以下代码:

    var shared:SharedObject = SharedObject.getRemote("HelloWorld", "rtmp://localhost/SimpleServer");
    shared.addEventListener(SyncEvent.SYNC, syncEventHandler);
    shared.connect(nc);
网络连接的创建如下所示:

    nc = new NetConnection();
    nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    nc.connect("rtmp://localhost/SimpleServer");
    nc.client = this;
我在“查看应用程序”->“共享对象”中看不到共享对象,也没有收到有关创建的反馈。这就像从未创建过对象一样。我还尝试在SharedObject上设置属性,但没有效果:

shared.setProperty("test", false);

这个问题有简单的解决方案吗?还是我必须配置高级服务器?提前谢谢你

正如Sunil在评论中所问的那样,
syncEventHandler
在运行代码时是否调用过

部分回答您的问题:不,您不需要任何特定的服务器端配置就可以在客户端检索SharedObject。在执行获取/连接远程共享对象的任何尝试之前,只需确保已连接到服务器

有关更多信息,请参阅

此外,在尝试获取远程共享对象时,一个很好的做法是使用
NetConnection
实例中的uri:

var shared:SharedObject = SharedObject.getRemote("HelloWorld", nc.uri);

您在上面添加的事件处理程序是否执行了?在调用
SharedObject
上的
connect()
之前,是否正在等待NetConnection连接?似乎没有执行
syncEventHandler
。执行
netStatusHandler
并将
NetConnection
指示为已连接,因此在尝试连接
SharedObject
时,它已连接……我设法解决了问题,就像我对duTr的答案发表评论一样。谢谢你的努力!我在键盘事件上创建了SharedObject。我将变量
shared
更改为全局变量,因此它将存在于程序的整个运行时中。现在我可以在管理控制台中看到SharedObject。当我声明
shared
local,但将其推到全局数组或其他对象上时,也会产生相同的效果。我还添加了行
shared.client=this
,但我发现这没有效果。谢谢你的帮助!