我正在尝试为教育目的创建一个简单的 Flash 聊天应用程序,但我一直在尝试将策略文件从我的 Java 服务器发送到 Flash 应用程序(经过几个小时的谷歌搜索,运气不佳)。
策略文件请求到达将硬编码策略 xml 发送回应用程序的服务器,但 Flash 应用程序似乎根本没有对其做出反应,直到它给我一个安全沙箱错误。
我正在使用客户端中的以下代码加载策略文件:
Security.loadPolicyFile("xmlsocket://myhostname:" + PORT);
服务器将请求识别为“< policy-file-request/> ”并通过向客户端发送以下 xml 字符串来响应:
public static final String POLICY_XML =
"<?xml version=\"1.0\"?>"
+ "<cross-domain-policy>"
+ "<allow-access-from domain=\"*\" to-ports=\"*\" />"
+ "</cross-domain-policy>";
用于发送它的代码如下所示:
try {
_dataOut.write(PolicyServer.POLICY_XML + (char)0x00);
_dataOut.flush();
System.out.println("Policy sent to client: " + PolicyServer.POLICY_XML);
} catch (Exception e) {
trace(e);
}
我是不是把 xml 搞砸了,还是我可能忽略了其他一些东西?