Привет всем. Есть следующая структура:
Сервер, у него на 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». Не понимаю, чего до сих пор ошибка?
Смею предположить в том, что «allowscriptacces» неправильно написан. Попробуй «allowscriptaccess», сразу можно и не заметить, пропущенную букву s в конце
Во флеше ничего не смыслю, но делал сокет — сервер. При соединении, клиент отправляет запрос на файл политик, который я отдавал первым пакетом от сервера через xmlsocket. Видимо, в http так же предусмотрена такая конструкция.