我有一个我的Flash应用程序将连接到的java服务器(现在在本地运行)。虽然它从CS4运行时连接得很好,但是当我导出应用程序并使用XAMPP从浏览器访问Flash应用程序时,我收到错误:
{NetworkManager}: (Security Error) [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
如果我从CS4运行应用程序或访问从浏览器发布的应用程序,我该如何建立连接?
答案 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