解决AS3请求数据的“安全沙箱冲突”问题

问题描述:

1、flash和被请求数据的服务器程序在同一台机器上;

2、flash网页放的位置在80端口的flash文件夹下;

3、数据的服务器程序的位置在8001端口;

4、安全策略文件在同台机器上的80端口根目录下,内容为:

<?xml version="1.0"?>

    <cross-domain-policy>  

        <allow-access-from domain="*" to-ports="*"/>

    </cross-domain-policy>

5、flash是用socket连接服务器的

本地调试可以请求数据,但是flash放到服务器上请求数据就不成功!!!! 提示:Error #2048 安全沙箱冲突 不能加载数据

请问:

1、安全策略文件要放置在什么位置;

2、安全策略文件的内容是否正确;

3、如何才能求数据成功?

4、由于java客户端和flash请求同一服务器端口下服务端程序,如果服务端要做什么设置,会影响java客户端的请求么?。

 

最佳答案 flash as3的socket默认是首先Security.loadPolicyFile("xmlsocket://"+ IP +":843");

去找你服务器上843端口下的策略文件,你可以监听该端口,并给客户端返回

'<?xml version="1.0"?>

    <cross-domain-policy>

        <allow-access-from domain="*" to-ports="*"/>

    </cross-domain-policy>'字符串即可.

你也可以在连接服务器之前用Security.loadPolicyFile("xmlsocket://"+ IP +":"+PORT);

设置自己端口

你可能感兴趣的:(as3)