教育目的で単純な 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を台無しにしましたか、それとも私が見落とした可能性のあるものがありますか?