AS3中的LocalConnection如何通信?

我即将开始在两个SWF中使用LocalConnections来让他们相互交谈。 但是,在我走下这条路之前,我需要确保它不会导致系统出现任何popup窗口和确认对话框。

如果我使用本地套接字服务器,则会导致Windows防火墙和其他许多人将其标记并需要确认。 所以,如果LocalConnection使用套接字,那么我不能使用它。

但我已经通过一些networkingsearch阅读,它实际上使用共享内存工作,这不会导致任何防火墙抱怨。

任何使用LocalConnection的人都可以确认或否认会导致主机操作系统出现问题吗? 特别是与Win7 / Vista。

Solutions Collecting From Web of "AS3中的LocalConnection如何通信?"

我一直在使用LocalConnection (用于查看托管SWF的服务器的跟踪消息),并且从来没有看到任何弹出窗口。 LocalConnection的liveDocs页面说:

在ActionScript 3.0中创建的LocalConnection对象可以与在ActionScript 1.0或2.0中创建的LocalConnection对象进行通信。 反过来也是如此。 Flash Player自动处理不同版本的LocalConnection对象之间的通信

所以我猜想假设Flash Player使用LocalConnection负责swf之间的通信并且不涉及弹出窗口。

我发现这个链接 ,证明LocalConnections与共享内存同步互斥。

但有点老了(2007年),我目前正在使用AS3的Flash 10播放器。

我在具有相当广泛的质量保证测试的环境中使用了LocalConnection。 关于它有一些奇怪的事情,但总的来说,它似乎可靠地在各种平台上工作,而不会对用户产生影响。

奇怪的事情之一:我们遇到的一个问题是,直到计算机上的Flash播放器的所有实例都已关闭之后,才会释放内存文件和互斥锁。 这是Flash播放器实例之一死亡或被杀死,并且不释放LocalConnection的情况下的问题。 仲裁器可以通过flashvars告诉每个SWF在运行时使用哪个本地连接,允许你每次指定一个新的本地连接。 当然,如果这种情况发生了很多,它会通过填充内存来加剧这个问题。

另一个问题是,看起来(仅仅从观察 – 没有证据来支持这种说法),互斥体的实现可能有些天真。 将太多的监听器/发送器添加到单个本地连接有点不可靠。 我们通过简单地使用LocalConnections作为一种派发方式,一个发送者,一个接收者来避免这个问题。 这个问题在这里很好地描述