0

アプリ用のJavaサーバーを作成しています。Flash アプリをデバッグしている間、すべて問題ありませんでした。私がそれを公開して、localhost からロードするようにすると、今度はセキュリティ ファイルをロードする必要があります。

そのファイルを文字列としてサーバーに追加しました。これは、フラッシュからのリクエストが来たときに渡します。リクエストから最後のヌルバイトまですべてのデータを読み取りました。ファイルのテキストの末尾にヌルバイトがあることを忘れていませんでした。フラッシュアプ​​リにはソケット接続にイベントリスナーがあるため、サーバーへの最初のコマンドは Event.CONNECT が発生したときに送信されます。ご覧のとおり、このイベントは発生していません。私のサーバーはポリシー ファイルをクライアントに渡しますが、ポリシーが取得された後、クライアントはソケットをサーバーに接続しません。

私はそれを修正するために一日中費やしています。どうすればいいのか、もうわかりません。誰か助けてください。

String crossdomeinFile = "<?xml version=\"1.0\"?>\r\n" + "<cross-domain-policy>\r\n" + "<allow-access-from domain=\"*\" to-ports=\"*\" />\r\n" + "</cross-domain-policy>\r\n" + "\0";
System.out.println(crossdomeinFile);
ByteBuffer r = ByteBuffer.allocate(crossdomeinFile.getBytes().length);
r.put(crossdomeinFile.getBytes());
chanel.write(r);
4

1 に答える 1

0

私はそれを解決しました、それはすべてNIOの書き込みがノンブロッキングモードで動作するためだったので、データをソケットに書き込むときに完全に送信されませんでした。

于 2013-03-20T22:34:22.007 に答える