Есть проблема с загрузкой\использованием политик безопасности. Имеем: тест-клиент (код см. ниже) и сокет-сервер. В задачу сокет-сервера входит ответ на запрос политики безопасности и дальнейшее взаимодействие с клиентом по сокету.
Код клиента:

Код AS1/AS2:
var connVars:LoadVars = new LoadVars();
var loginServer:XMLSocket;
connVars.onLoad = function (success:Boolean) {
if (success) {
System.security.loadPolicyFile(connVars["policyFile"]);
loginServer = new XMLSocket();
loginServer.onConnect = onConnectLoginServer;
loginServer.connect(connVars["host"], connVars["port"]);
}
};
connVars.load("app.conf");
function onConnectLoginServer(success:Boolean) {
trace("onConnectLoginServer() Success = " + success);
//Передача данных
}
Содержимое возвращаемой сервером политики-безопасности для простоты разбирательства:

Код:
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
Если сокет-сервер отвечает на запрос-политики в течение 3х секунд - все хорошо. Политика передается, общение по сокету начинается. Вот лог policyfiles.txt успешного соединения:

Код:
ОК: Выполнена загрузка SWF-файла корневого уровня: http://**********************.swf
ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://xxx.yyy.ru:port инициатором запроса из http://**********************.swf
ОК: Файл политики принят: xmlsocket://xxx.yyy.ru:port
ОК: Запрос ресурса на xmlsocket://xxx.yyy.ru:port источника запроса из http://**********************.swf разрешен согласно файлу политики на xmlsocket://xxx.yyy.ru:port
Если сокет-сервер НЕ отвечает на запрос-политики в течение 3х секунд - все плохо. Сервер передает политику (допустим через 10 секунд), но клиенту это уже не важно - по непонятной причине вступает в действие таймаут флэшплеера, хотя этого не должно происходить, потому что я использую loadPolicyFile() (выдержка из доков Адоба: When Flash Player requests socket policy files by default, it waits only 3 seconds for a response ... WHEN YOU CALL LOADpOLICYfILE RATHER THAN ALLOWING fLASH pLAYER TO CHECK LOCATIONS BY DEFAULT, fLASH pLAYER WILL WAIT AS LONG AS NECESSARY FOR A RESPONSE FROM A SOCKET POLICY FILE SERVER, RATHER THAN TIMING OUT AFTER 3 SECONDS.).
Вот лог policyfiles.txt НЕуспешного соединения:

Код:
ОК: Выполнена загрузка SWF-файла корневого уровня: http://**********************.swf
ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://xxx.yyy.ru:port инициатором запроса из http://**********************.swf
Предупреждение: На xmlsocket://xxx.yyy.ru:843 истекло время (3 сек) ожидания файла политики для сокета. Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Предупреждение: На xmlsocket://xxx.yyy.ru:port истекло время (3 сек) ожидания файла политики для сокета. Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Ошибка: Запрос ресурса на xmlsocket://xxx.yyy.ru:port источника запроса из http://**********************.swf отклонен из-за отсутствия разрешений в файле политики.
Кто нибудь с этим сталкивался?
Проверяется это очень легко - перед возвратом сервером ответа на запрос политики безопасности вставить например sleep(10 sec);