Crossdomain xml和flash

时间:2010-04-16 13:52:33

标签: flash sockets cross-domain

我有一个Web服务器应用程序(基于python)。位于此服务器的Flash应用程序应连接到服务器。麻烦在于crossdomain.xml。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
 <allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>       

这是这个文件(它在根目录中)。

确切的问题是flash应用程序不加载此文件。有没有办法手动执行此操作?例如,直接从flash脚本加载它或在给定端口组成一个新应用程序,它会将此文件发送到任何连接的套接字。

2 个答案:

答案 0 :(得分:3)

您没有使用<cross-domain-policy>关闭</cross-domain-policy>代码 - 您是否忘记复制/粘贴最后一行?否则试试。您也可能不需要DOCTYPE行和to-ports="*"

我们使用这个crossdomain.xml文件,只要它在根文件夹中,它每次都适合我们

<?xml version="1.0"?>
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>

如果是https域,并且您希望非https域上的Flash能够访问它,则需要将allow-access-from行更改为此

<allow-access-from domain="*" secure="false" />

值得尝试的最后一件事就是添加这一行:

<allow-http-request-headers-from domain="*" headers="*"/>

但我们从来没有必要使用它来通过http进行标准闪存加载/保存。

答案 1 :(得分:2)

你可以在Firefox中运行SWF并使用firebug或篡改数据来查看它是否完成了任何策略文件请求?如果是这样,请将文件移动到相应目录。