AS3响应者和FMS

时间:2010-12-25 11:54:44

标签: flash flex actionscript-3 remoting flash-media-server

我正在尝试通过Responder类与Flash Media Server进行通信,因为我不想在我的类中放置从服务器接收回调的公共方法。

当客户端调用方法,当服务器需要在客户端上调用方法时,Everyhing就按计划进行,我被迫定义 public 方法。

我目前正在做一些事情:

nc.client = {
    someCallback: somePrivateFunction
};

现在someCallback可以被服务器调用,我班上的方法somePrivateFunction仍然是私有的,这正是我想要的。

我想知道是否有更清洁的解决方案?

1 个答案:

答案 0 :(得分:2)

我相信你的代码很干净。如果你想要一个带有公共处理程序的私有函数,我不太确定你能不能让它变得更容易;

我能看到这个方法的唯一缺点就是无法覆盖someCallback,但我还没有遇到任何真实的问题。我认为在较大的项目中,围绕控制客户端/服务器调用构建一个全新的类是更有意义的,即

nc.client = new ConnectionClient(nc, myself);

另一种方法可能是自己处理所有函数调用,即让所有服务器调用调用一个公共方法,然后自己根据这些调用确定发生的事情。

您也可以让客户端调度事件而不是直接映射到方法。这将在服务器调用和您的类之间添加一个层,但对于较大的项目可能会“更清晰”。

清洁是非常主观的:)