Цитата:
Сообщение от -De-
XML какой-то стрёмный. По-моему в нём проблема. Есть куча и сокет серверов для проверки, вот, например
http://www.flasher.ru/forum/blog.php?b=275
мой 100% рабочий (если за 3 года не перестал) полиси сервер отдавал такой xml
 Код AS1/AS2:
const char *policy = "<cross-domain-policy>\
<site-control permitted-cross-domain-policies=\"master-only\"/>\
<allow-access-from domain=\"*\" to-ports=\"*\" />\
</cross-domain-policy>";
Исходники сокет сервера прикрепил, если что. Они страдают тем, что не отрубают по таймауту тех, кто законнектился и просто висит.
|
Вариант по-лучше, просто положить в какую-то директорию реальный xml файл политик, а сервак при старте или по команде будет его подгружать и записывать в переменную, ну и, естественно, отдавать клиентам по запросу. Так не будет возможных проблем с экранированием, и можно будет легко изменить сам файл, не перекомпилируя сервер.
У меня сервак вот так читает файл политик

Код AS3:
public static String readPolicy() {
try {
String policyXML = readFile(
new File(FGSMain.SETTINGS_DIR + "crossdomain.xml").getAbsoluteFile());
return policyXML;
} catch (IOException e) {}
return null;
}
private static String readFile(File file) throws IOException {
FileInputStream stream = new FileInputStream(file);
try {
FileChannel fc = stream.getChannel();
MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0,
fc.size());
return Charset.defaultCharset().decode(bb).toString();
} finally {
stream.close();
}
}