Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   <policy-file-request/> (http://www.flasher.ru/forum/showthread.php?t=175329)

FanatSors 14.02.2012 23:18

<policy-file-request/>
 
Всем доброго времени суток.
Сервер выдаёт то что в заголовке, когда присоединяюсь сокетом к нему.
Гуглил про это, но как обойти не понял :(

Как можно это поправить? Точнее можно ли это сделать не настраивая домены... Ведь из под компилятора всё идет нормально...

GBee 14.02.2012 23:27

:о)) Это запрос, на который надо ответить crossdomain'ом. Плохо гуглили

Добавлено через 2 минуты
Ой, всмысле сервер должен ответить флэшке.

FanatSors 15.02.2012 00:13

А можно чуть-чуть поподробней? Что именно должен посылать обратно сервер?

Dukobpa3 15.02.2012 13:20

Тут стопицот тем по форуму уже на тему кроссдомена.
google: crossdomain.xml

FanatSors 15.02.2012 15:45

Я всё равно не понимаю...
Где-то написано что этот файл должен быть в корневой папке... где-то - что сервер должен ответить этим файлом...
Сервер - делфи, что именно он должен отправить....?

К тому же, я присоединяюсь по айпи, а не по домену.

Inet_PC 15.02.2012 15:51

На запрос <policy-file-request/> Ваш Delphi сервер должен вернуть (записать в сокет, как правильно сказать то?) xml файл на подобии этого:
Код AS3:

<?xml version="1.0"?>
  <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
  <cross-domain-policy>
  <allow-access-from domain="*" to-ports="2222"/>
  </cross-domain-policy>

Отредактируйте его под свои нужды.
И да 100500 раз обсуждалось плохо ищите. Вот например. И там же ссылка на доку!

Dukobpa3 15.02.2012 15:51

Цитата:

Где-то написано что этот файл должен быть в корневой папке... где-то - что сервер должен ответить этим файлом...
Если это хттп и урллоадер то в корне.
Если это сокет-соединение то сервер должен ответить этим файлом.
К тому же файлы по структуре отличаются тот который в кореньложить надо и тот который сокет-сервер шлет. Гугли дальше:)

Цитата:

Сервер - делфи, что именно он должен отправить....?
Это сокет, он как раз и должен отправлять файл по запросу.

Цитата:

К тому же, я присоединяюсь по айпи, а не по домену.
Это глобально пофигу.

FanatSors 15.02.2012 16:15

Вернусь вечером - попробую.
А так - всем спасибо за помощь! Просто даже по обсуждениям не понимал что нужно...
И ещё вопрос, на всякий случай,
Файл должен отправить файл? Именно файл?

Dukobpa3 15.02.2012 16:16

Ну файл это байтАррей.
Можешь и его отправить а во флешке его уже распознать как хмл.
Но вообще проще тупо текстом отправить и не париться.

FanatSors 15.02.2012 18:41

Цитата:

Сообщение от Dukobpa3 (Сообщение 1063080)
Ну файл это байтАррей.
Можешь и его отправить а во флешке его уже распознать как хмл.
Но вообще проще тупо текстом отправить и не париться.

А как клиент прочитает файл\текст? Он же не принимает ничего с сокета... или?

Inet_PC 15.02.2012 18:45

ну раз клиент запрашивает, то и прочитает. По идее с этим FP справится сам. Или Security.loadPolicyFile Вам в помощь.

Dukobpa3 15.02.2012 18:45

Он принимает кроссдомен, если он его не получает то блокируется и закрывает.
если он получает кросдомен неверный - он блокируется и закрывается.

Вообще я ввел в заблуждение. Кроссдомен шлется текстом онли. Сорри за дезинформацию, это я втыкнул.

FanatSors 15.02.2012 18:53

Цитата:

Сообщение от Dukobpa3 (Сообщение 1063125)
Он принимает кроссдомен, если он его не получает то блокируется и закрывает.
если он получает кросдомен неверный - он блокируется и закрывается.

Вообще я ввел в заблуждение. Кроссдомен шлется текстом онли. Сорри за дезинформацию, это я втыкнул.

Тогда ещё вопрос
Посылаемый текст - это чисто xml код?

Inet_PC 15.02.2012 18:55

Да, ну а что Вы еще то хотите послать?

Dukobpa3 15.02.2012 18:58

да хмл-код

FanatSors 15.02.2012 19:17

Пфф, клиент ни как не реагирует на посылаемый текст.
Сейчас буду смотреть дебаггером.

Dukobpa3 15.02.2012 19:19

значит ошика в самом хмл. Или же надо \0 в конец сообщения добавлять.

FanatSors 15.02.2012 19:55

Аргх....
Трейс у компиляторской версии

Код:

Присоединились.
Получили данные от сервера:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="127.0.0.1" to-ports="7778"/>
</cross-domain-policy>\0

Трейс у обычной свфки:
Код:

Предупреждение: РќР° xmlsocket://127.0.0.1:7778 истекло время (3 сек) ожидания файла политики для сокета.  Р*то РЅРµ должно привести Рє каким-либо проблемам, однако СЃРј. описание РЅР° веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
*** Нарушение безопасности изолированной среды ***
Подключение к 127.0.0.1:7778 прервано – нет разрешения от file:///D|/Loltest/Loltest.swf
Ошибка: Запрос ресурса на xmlsocket://127.0.0.1:7778 источника запроса из file:///D|/Loltest/Loltest.swf отклонен из-за отсутствия разрешений в файле политики.
Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: file:///D|/Loltest/Loltest.swf не может загрузить данные из 127.0.0.1:7778.
        at Loltest_fla::MainTimeline/frame1()

Он всё таки ни как не реагирует на сообщения от сервера.
Возможно ошибка в сервере где-то... или в том что я ни как не обрабатываю данные (Впрочем и не могу, клиент не реагирует)
Может... кто-нибуть знает исходник, в котором прописана секьюрити...? Просто малоли я отправляю что-то другое.

Добавлено через 3 минуты
И ещё, я посмотрел тут... я сокет делаю вот так
Код AS3:

var socket:Socket = new Socket();

Может нужно XMLSocket делать?

Добавлено через 23 минуты
Так, ладно я попытаюсь сделать кое-что.

Добавлено через 1 час 16 минут
.... Нужно пересылать файл...
Вот что у меня в policyfiles.txt
Код:

ОК: Выполнена загрузка SWF-файла корневого уровня: file:///D|/Loltest/Loltest.swf
ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://127.0.0.1:7778 инициатором запроса из file:///D|/Loltest/Loltest.swf
Предупреждение: На xmlsocket://127.0.0.1:7778 истекло время (3 сек) ожидания файла политики для сокета.  Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Ошибка: Запрос ресурса на xmlsocket://127.0.0.1:7778 источника запроса из file:///D|/Loltest/Loltest.swf отклонен из-за отсутствия разрешений в файле политики.

Добавлено через 1 час 22 минуты
И так... всё-таки у меня появился вопрос.
Если отправлять файл на флеш, что нужно именно отправлять?
Потоком обойтись можно?

Dukobpa3 15.02.2012 21:24

Та ты бы мож попробовал уже сам?

У нас везде питон.
Мы шлем просто отправкой текста(строки) с этоим хмлом на запрос флешки. Всё.
Пару раз были грабли с портами. По-дефолту флешка пробует достать файл политик по 843 порту либо по тому же куда коннектится.

На сайте адоба всё расписано, в твоем логе есть ссылка на хелп.
Цитата:

однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Ну так и посмотри описание.

FanatSors 15.02.2012 21:34

Цитата:

Сообщение от Dukobpa3 (Сообщение 1063198)
Та ты бы мож попробовал уже сам?
У нас везде питон.
Мы шлем просто отправкой текста(строки) с этоим хмлом на запрос флешки. Всё

Ну так у xml файла внутри не одна строка... или надо просто добавить перенос строки? (#13+#10)

Dukobpa3 15.02.2012 21:44

у хмл внутри одна строка, это в редакторе их много, чтоб читалось проще, но флешке и серверу глобально пофигу на переносы строк.

FanatSors 15.02.2012 22:09

Брррр, как же бесит зависать на чем-то элементарном... АРГХ.

Не реагирует он никак. Вообще. И байт в конце добавил пустой.
Но он ВООБЩЕ не реагирует на посылки сервера, хотя бы кидал ошибку потипу НЕ ПРАВИЛЬНЫЙ КОД, но он молчит...

-De- 15.02.2012 22:41

Сниффер ещё поставьте.
Хоть какая-то польза вам будет - сниффером пользоваться научитесь =)

FanatSors 16.02.2012 16:11

Не правильно отправлял байт последний просто оказывается.
Теперь всё работает.
Всем спасибо кто помагал :)

Dukobpa3 16.02.2012 16:13

оказывается всё просто.

Fillini 23.03.2012 18:21

Цитата:

Не правильно отправлял байт последний просто оказывается.
Теперь всё работает.
Всем спасибо кто помагал
ну уж поделитесь


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

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