Может быть, я не понимаю ваш вопрос, но если мы говорим об одном и том же ...
В моей флеш-памяти (которая была написана на AS2, поэтому вам может понадобиться посмотреть, как она отличается в AS3, я заметил, что вы не используете класс безопасности System ... они, возможно, удалили это), у меня есть это линия ...
System.security.loadPolicyFile("xml_root.socket://" + _root.HOST + ":" +_root.GAME_PORT );
Я почти уверен, что это просто идет и извлекает статический файл crossdomain.xml из документа моего сервера.
На стороне сервера ваш сокет-код (для чего это написано?) Может напрямую доставлять междоменную политику.
Вот фрагмент из моего Perl-сокета, который отвечает на первоначальный запрос флеш-сокета. Я написал это очень давно, но похоже, что сокет отправляет этот крошечный фрагмент XML в качестве своего начального сообщения сокету "", в ответ на который вы хотите сделать следующее ...
if($input eq "<policy-file-request/>"){ #if the string arriving on the socket == <policy-file-request>"
#assemble the printed response to look just like a crossdomain policy file. Set permissions as you normally would.
#if you don't know perl, the qq~ is just a way to provide a chunk of multiline code in one fragment. But note the \0 at the end. All socket messages have to be null terminated manually by you.
$MESSAGE = qq~<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>\0~;
}
print "$MESSAGE"; #send the string back on the socket
Убедитесь, что это действительно то, что вам нужно. Иногда все, что вам нужно, это чтобы на сервере был файл политики crossdomain.xml, расположенный в docroot.