Flash 用のゲーム サーバーを作成しようとしていますが、Java サーバーから Flash ゲームにポリシー ファイルを送信しようとしてスタックしています。
サーバーがメッセージを受け取りました
<policy-file-request/>\0
同様に、xml をゲームに戻すことはできません。
メッセージを取得して返すときのゲームサーバーコードは次のとおりです
if (message.equals("<policy-file-request/>" + '\0')) {
StringBuffer policyBuffer = new StringBuffer();
policyBuffer.append("<?xml version=\"1.0\"?><cross-domain-policy>");
policyBuffer.append("<allow-access-from domain=\"*\" to-ports=\"*\" />");
policyBuffer.append("</cross-domain-policy>");
String returnPolicy = policyBuffer.toString() + '\0';
//byte[] returnPolicyBytes = returnPolicy.getBytes();
System.out.println("Returning cross-domain-policy...\n" + returnPolicy);
//packet.socket.getOutputStream().write(returnPolicyBytes, 0, returnPolicyBytes.length);
//packet.socket.getOutputStream().flush();
packet.out.println(returnPolicy);
packet.out.flush();
return;
}
** "packet" は、"PrintWritter" クラスのオブジェクトである "out" フィールドを持つ私のソケット クライアント ラッパー オブジェクトです **
Flash ゲームが xml メッセージを受信できない (常にタイムアウトする) 理由がわかりません。ポリシー ファイルを要求する時間を増やすことはできますか? 新しいポリシー サーバーを作成する必要がありますか?