Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Crossdomain после апгрейда плейера (http://www.flasher.ru/forum/showthread.php?t=126015)

alexGoHome 08.06.2009 01:28

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 {
                        Security.allowDomain("*");
                            Security.loadPolicyFile("xmlsocket://127.0.0.1:843");

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>

Текст ошибки, (10ка пишет по-русски)

[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."]

etc 08.06.2009 08:07

Ну так сервер умеет отдавать кроссдоменник по указанным портам по запросу или нет?

alexGoHome 08.06.2009 13:42

Не уверен, но и не знаю как проверить протокол xmlsocket://... , Стучаться телнетом на 843? наверно смысла особо нет.
Подскажи, куда копать.
Спасибо за ответ.

etc 08.06.2009 13:45

http://www.adobe.com/devnet/flashpla..._security.html

alexGoHome 11.06.2009 22:11

ничего кроме настройки лога не нашел. ты это имел ввиду?
если да, то он ниже,

ОК: Выполнена загрузка 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 отклонен из-за отсутствия разрешений в файле политики.

wvxvw 12.06.2009 02:13

Это чего, IIS умеет простые TCP ответы посылать? Надо же... я думал, что он только HTTP сервер :)
В файле политик не хватает to-ports аттрибута. А allow-http-request-headers-from вам не нужен, вы все равно HTTP не используете для подключения. Ну и убедитесь, что ответ с политиками отсылается только по требованию, а не сразу после коннекта, и что в конце сообщения с политиками передается нуль-байт.

alexGoHome 16.06.2009 12:16

что то не помогает :) Я уже немного запутался, подскажите что именно должно запустить файл по 843 порту, после вызова Security.loadPolicyFile("xmlsocket://127.0.0.1:843");
там используется xmlsocket и ясности мне это не прибавляет

alexGoHome 19.06.2009 12:40

Цитата:

убедитесь, что ответ с политиками отсылается только по требованию, а не сразу после коннекта, и что в конце сообщения с политиками передается нуль-байт.
как сделать это? читать в логах ФП?

wvxvw 21.06.2009 14:41

На сколько я понимаю IIS это HTTP сервер, т.е. ответить он конечно может и на 843 порту, но вот чтобы он смог ответить не HTTP ответом (т.е. не включая HTTP заголовки) мне как-то сложно в это поверить... кроме того, это как бы довольно проблематично настроить его так, чтобы он отвечал только если получит определенный не-HTTP запрос. Нужно хорошо знать внутреннюю структуру сервера, чтобы внести туда такие изменения, если это вообще возможно... Может быть как-нибудь можно его настроить, чтобы он перенаправлял запросы сокету, но в таком случае не понятно, зачем вообще IIS нужен... Я думаю, что с практической точки зрения было бы гораздо удобнее использовать просто сокет, а не пытаться переделать IIS под это дело... Это как бы инструмент для других целей...

alexGoHome 23.06.2009 13:41

IIS вызывает страницу, на которой флешка с XMLSocket-om та коннектится к Сокету сервера, точнее не может приконнектится :-)


Часовой пояс GMT +4, время: 13:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.