Actionscript 3 如何使用远程共享对象

Actionscript 3 如何使用远程共享对象,actionscript-3,client-side,server-side,shared-objects,Actionscript 3,Client Side,Server Side,Shared Objects,我正在尝试使用聊天应用程序的sharedobject.send方法,使用远程共享对象在客户端和服务器之间发送数据消息。 我真的很难理解这些文件。我试图使用的代码根本不起作用 有人能告诉我相关的API调用吗?仔细检查一下我的代码,告诉我我到底出了什么问题 多谢各位 客户端 import flash.net.NetConnection; import flash.events.NetStatusEvent; import flash.events.SyncEvent; var nc:NetConn

我正在尝试使用聊天应用程序的sharedobject.send方法,使用远程共享对象在客户端和服务器之间发送数据消息。 我真的很难理解这些文件。我试图使用的代码根本不起作用

有人能告诉我相关的API调用吗?仔细检查一下我的代码,告诉我我到底出了什么问题

多谢各位

客户端

import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.events.SyncEvent;

var nc:NetConnection = new NetConnection();

nc.connect("rtmfp://fms/exampledomain");

nc.addEventListener(NetStatusEvent.NET_STATUS, netHandler);

function netHandler(event:NetStatusEvent):void {
    if (event.info.code == "NetConnection.Connect.Success") {
        trace("Your Connected");

        //Creating the sharedobject
        var my_so:SharedObject = SharedObject.getRemote("users", nc.uri, false);

        my_so.connect(nc);

        my_so.addEventListener(SyncEvent.SYNC, syncHandler);

        my_so.setProperty("users");

        my_so.setDirty("users");

        function syncHandler(event:SyncEvent):void {
            var changelist:Array = event.changeList;
        }

        my_so.send function sendMessage(str){
服务器端

application.onConnect(clientObj)() {
    application.acceptConnection(clientObj) {
        trace("connected up");
    }

    var my_so = SharedObject.getRemote("users", false);
    my_so.send("Hello user", "Its only a test");
}

编辑问题后,客户端示例中似乎缺少一些代码

在我看来,示例不需要客户端代码就可以工作。您可以直接从客户端调用
send()
方法。但要测试它是否有效,您需要连接两个客户端

关于
NetConnection
SharedObject
,请确保在调用
connect()
方法之前添加事件侦听器

如果您想要实现的只是在客户端之间共享数据,那么您甚至不需要使用
send()
方法,只需在共享对象上设置属性即可。但要注意以下几点:

my_so.setProperty("users");
实际上正在删除键
用户
,因为它与此相同:

my_so.setProperty("users", null);
最后,您需要在非常特定的情况下调用
setDirty()
,但在本例中不需要。有关如何与SharedObjects共享数据的更详细示例,请参阅