![]() |
[Решено] <policy-file-request/> + java-сервер
Имеется самописный сервер на java
При подключении от флеша присылается <policy-file-request/>, на что ему отправляю в сокет строчку <?xml version="1.0\"?><cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"8234\" /></cross-domain-policy>\0 Флешевое приложение никак не реагирует, и спустя какое-то время сообщает об ошибки безопасности. Знаю, что есть решение разместить файл с точно таким же содержанием в корне домена к которому обращаемся. Проблема в том что обращаться собираюсь по айпишнику, а не по домену и вебсервера на машине с сервером скорее всего не будет. Что я делаю не так? |
вроде всё правильно делаете...
единственное: в приведённой вами xml'ке, первая кавычка не заэкранирована. Если в отправляемой вами строчке также, то причина возможно в этом. <?xml version="1.0\"?><cross-domain-poli... |
Вот строчка пересылаемая
Код:
<?xml version=\"1.0\"?><!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\"><cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\" meta-policy=\"master-only\"/></cross-domain-policy>\0код для связи с клиентом изменился толку нет Клиент будет предельно простой, поэтому пишу код прямо в actions кадра |
видел такие проблемы, решались они добавлением нулевого симвоба "u0000" (вроде так), а вообще поищите в инете пример сервера по отдачи кроссдоменика - их много. (я поищу свой пример, где-то он валялся).
|
Цитата:
|
Последовал совету выдрал из OPENfire точный синтаксис и всё равно ошибка #2048///
|
Цитата:
Честно говоря, тут сложно что-либо посоветовать. Вы всё делаете правильно. Следовательно, проблема в невнимательности. Если хотите, могу вам быстро набросать сокет-сервер на питоне, что бы вы могли проверить, всё ли правильно у вас со стороны флешки. Как вариант, можно ещё попробовать добавить тегу allow-access-from, атрибут secure='false'. Цитата:
|
Посмотрите, может поможет.
|
Вывел работу с полиси в отдельный поток, привязал прослушку порта 843, результат нулевой. Те сервер пишет что отправлено, клиент же не получает.
лог клиента Код:
securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]Код:
20.09.2011 21:29:51 ServerFlashRunnable flashrunКод:
private static void flashrun(Socket gsock)Код тествого фрейма Код AS3:
Код AS3:
Ps идей почему у меня такое нет совершенно. Вернее те что есть попахивают шаманизмом, вроде попробовать насильно конвертить отправляемую строку в UTF8. Если важно сервер поднят на одной машине с вебсервером, на котором лежит тот флеш файл. Веб сервер и мой сервер работают на разных портах. PPs Решил от нефиг делать запустить из адоб флеша, через паблиш превью. Запустилось, но реквеста не последовало, вместо этого тупо приконектилось туда куда прошу, а не на полиси порт, и гордо выдало о получении "fail" (так как я брал из примера адобовского и там в обработчике подключения так и стоит отправка чего-то, в этом чём-то сервер формата родного запроса не узнал и послал "fail"'ом клиент)... Затык где то именно в этой долбанном хендшейке. PPPs веб сервер(у меня xampp), на котором висит флешка надо как-то настраивать? Добавлено через 1 час 38 минут Заработало... почувствовал себя доктором франкенштейном и до конца не понимаю, чё делаю таки сделал... Вот готовый класс к запуску в отдельном потоке если чё. Код:
class ServerFlashRunnable implements Runnable |
Прошу прощения, у меня похожая ошибка. Уже что только не перепробовал...
В чем у вас проблема была? (у меня просто серверная часть на node.js и взять ваше решение не могу) |
| Часовой пояс GMT +4, время: 22:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.