Ockonal
@Ockonal

Как решить проблему с crossdomain?

Привет всем. Есть следующая структура:
Сервер, у него на 80м порту идет отдача нужной информации
На этом же сервере лежит html+swf, флеш-приложение внутри коннектится на свой же хост к 80му порту и как-то обрабатывает данные

Теперь я пытаюсь в браузере загрузить это приложение и получаю ошибку #2048, что логично, ведь флешка запускается от моего компьютера.

Попытался создать в рут-директории сервера crossdomain.xml с текстом:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

Во флеше код:

public function connect(url:String):void {
Security.allowDomain("*");
Security.loadPolicyFile("http://SERVER/crossdomain.xml");

// И далее сама работа через сокеты
_socket = new Socket();
_socket.connect(url, 80);
}

При встраивании swf указал: allowscriptacces=«always». Не понимаю, чего до сих пор ошибка?
  • Вопрос задан
  • 8131 просмотр
Пригласить эксперта
Ответы на вопрос 3
FinDK
@FinDK
Смею предположить в том, что «allowscriptacces» неправильно написан. Попробуй «allowscriptaccess», сразу можно и не заметить, пропущенную букву s в конце
Ответ написан
spmbt
@spmbt
А вы в Опере тестируете? Она имела проблемы с таким доступом из локалхоста.
Ответ написан
ilyaplot
@ilyaplot
PHP программист
Во флеше ничего не смыслю, но делал сокет — сервер. При соединении, клиент отправляет запрос на файл политик, который я отдавал первым пакетом от сервера через xmlsocket. Видимо, в http так же предусмотрена такая конструкция.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы