![]() |
Crossdomain после апгрейда плейера
Пишу серверное приложение асинхроный сокет + Клиент swf пишу на Flex.
Недавно произвел апгрейд Flex версии до 3ки, (апгрейдился и флеш плейер до 9.0.159) перестала работать Кроссдоменная политика (На flex 2 все работало хорошо). Я в курсе, что менялись правила после .124 версии и в 10ке, но ни как не могу завести этот проект через веб. Короче разработка проекта парализована :-) Если кто сталкивался с этим, подскажите пожалуйста. Ниже основные моменты по теме: Сервер -127.0.0.1:8090 Клиент- IIS6 домашняя директория flex_bin моего Flex проекта, здесь же лежит crossdomain.xml. Код:
private function initDate():void {Код:
<?xml version="1.0"?>[SWF] /Client.swf - 685,874 bytes after decompression Ошибка: Не удалось загрузить файл политики из xmlsocket://127.0.0.1:843 Предупреждение: На xmlsocket://127.0.0.1:8090 истекло время (3 сек) ожидания файла политики для сокета. Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru. Ошибка: Не удалось загрузить файл политики из xmlsocket://127.0.0.1:843 *** Нарушение безопасности изолированной среды *** Подключение к 127.0.0.1:8090 прервано – нет разрешения от http://localhost/Client.swf Ошибка: Запрос ресурса на xmlsocket://127.0.0.1:8090 источника запроса из http://localhost/Client.swf отклонен из-за отсутствия разрешений в файле политики. securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Нарушение изолированной среды: http://localhost/Client.swf не может загрузить данные из 127.0.0.1:8090."] |
Ну так сервер умеет отдавать кроссдоменник по указанным портам по запросу или нет?
|
Не уверен, но и не знаю как проверить протокол xmlsocket://... , Стучаться телнетом на 843? наверно смысла особо нет.
Подскажи, куда копать. Спасибо за ответ. |
|
ничего кроме настройки лога не нашел. ты это имел ввиду?
если да, то он ниже, ОК: Выполнена загрузка SWF-файла корневого уровня: http://localhost/Client.swf ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://127.0.0.1:8090 инициатором запроса из http://localhost/Client.swf Ошибка: Не удалось загрузить файл политики из xmlsocket://127.0.0.1:843 Предупреждение: [строгий] Игнорирование файла политики на xmlsocket://127.0.0.1:8090 из-за неправильного синтаксиса. Сведения об устранении этой проблемы см. на веб-сайте http://www.adobe.com/go/strict_policy_files_ru. Ошибка: Не удалось загрузить файл политики из xmlsocket://127.0.0.1:843 Ошибка: Запрос ресурса на xmlsocket://127.0.0.1:8090 источника запроса из http://localhost/Client.swf отклонен из-за отсутствия разрешений в файле политики. |
Это чего, IIS умеет простые TCP ответы посылать? Надо же... я думал, что он только HTTP сервер :)
В файле политик не хватает to-ports аттрибута. А allow-http-request-headers-from вам не нужен, вы все равно HTTP не используете для подключения. Ну и убедитесь, что ответ с политиками отсылается только по требованию, а не сразу после коннекта, и что в конце сообщения с политиками передается нуль-байт. |
что то не помогает :) Я уже немного запутался, подскажите что именно должно запустить файл по 843 порту, после вызова Security.loadPolicyFile("xmlsocket://127.0.0.1:843");
там используется xmlsocket и ясности мне это не прибавляет |
Цитата:
|
На сколько я понимаю IIS это HTTP сервер, т.е. ответить он конечно может и на 843 порту, но вот чтобы он смог ответить не HTTP ответом (т.е. не включая HTTP заголовки) мне как-то сложно в это поверить... кроме того, это как бы довольно проблематично настроить его так, чтобы он отвечал только если получит определенный не-HTTP запрос. Нужно хорошо знать внутреннюю структуру сервера, чтобы внести туда такие изменения, если это вообще возможно... Может быть как-нибудь можно его настроить, чтобы он перенаправлял запросы сокету, но в таком случае не понятно, зачем вообще IIS нужен... Я думаю, что с практической точки зрения было бы гораздо удобнее использовать просто сокет, а не пытаться переделать IIS под это дело... Это как бы инструмент для других целей...
|
IIS вызывает страницу, на которой флешка с XMLSocket-om та коннектится к Сокету сервера, точнее не может приконнектится :-)
|
Цитата:
|
сервер, наверно нет, не умеет,
я пытался по приходу на сервер "<police-file-request/>" отдавать на тот же порт в XMLSocket куда посылаю ответы , xml police-file преобразованный в массив байтов. консоле выписало отправленную строку, и дисконект... попытка было расценена как неудачная. что было не правильно? |
как-то вас все меньше и меньше понятно... если сервер не умеет отдавать полиси, то что вы увидели в консоли? зачем вы дисконектитесь после отправки полиси? Флеш сам отконектится, когда полиси получит (если рабочий порт и секюрити порт не равны). Вы не должны выбирать куда отвечать, нужно отвечать туда, окуда пришел запрос, флеш не умеет слушать сокет, он может только приконектится. Может опишите еще раз кто куда и чего посылает?
|
| Часовой пояс GMT +4, время: 15:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.