网络连接问题

时间:2010-10-27 12:34:53

标签: flash actionscript-3

我有一个我的Flash应用程序将连接到的java服务器(现在在本地运行)。虽然它从CS4运行时连接得很好,但是当我导出应用程序并使用XAMPP从浏览器访问Flash应用程序时,我收到错误:

{NetworkManager}: (Security Error) [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]

如果我从CS4运行应用程序或访问从浏览器发布的应用程序,我该如何建立连接?

1 个答案:

答案 0 :(得分:1)

如果您正在谈论端口80上的HTTP连接,那么您需要使用目标服务来提供跨域策略文件。

http://www.adobe.com/devnet/flashplayer/articles/cross_domain_policy.html

  

如果尝试在运行时将内容加载到SWF文件中,则该请求受Flash Player安全模型的约束,该模型用于保护用户和网站所有者。作为此模型的一部分,Flash Player默认情况下会阻止跨域加载数据,但允许跨域发送数据。

<!-- crossdomain.xml in root -->
<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

如果您正在谈论另一个端口上的套接字连接,那么要设置套接字策略服务器以在特定端口上提供策略文件。它需要侦听端口843上的连接,然后提供一个策略文件,该文件指定允许哪些域访问哪些本地端口。

<cross-domain-policy>  
    <allow-access-from domain="swf.example.com" to-ports="123,456-458" /> 
</cross-domain-policy> 

可以使用免费选项来托管单独的进程来提供此文件,也可以在当前的Java应用程序中自行实现。

http://www.adobeopenoptions.com/devnet/flashplayer/articles/socket_policy_files.html