Actionscript 3 如何使用远程共享对象
我正在尝试使用聊天应用程序的sharedobject.send方法,使用远程共享对象在客户端和服务器之间发送数据消息。 我真的很难理解这些文件。我试图使用的代码根本不起作用 有人能告诉我相关的API调用吗?仔细检查一下我的代码,告诉我我到底出了什么问题 多谢各位 客户端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
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共享数据的更详细示例,请参阅