Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.11.2010, 19:01
enix вне форума Посмотреть профиль Отправить личное сообщение для enix Найти все сообщения от enix
  № 11  
Ответить с цитированием
enix

Регистрация: Nov 2010
Сообщений: 1
у меня возникла проблема при использовании Java сервлетов и Flex.
При написании приложения обнаружил вот что, после того как выложил его на сервер сервлеты для тестирования, флекс ролик не конектится с сервлетом (ролик находится на моем компе), который уже находится в сети (локально все работало).

Потом решил протестировать все это на простом приложении.

Создал сервлет, который возвращает всегда только
out.println("<h1>Соединение прошло успешно Java</h1>");
Выложил его в сеть. Ввел его адрес в браузере для проверки, работает.

Далее создал простое флекс приложение, которое запрашивает этот сервлет и выводит его в текстовом поле. Скомпилировал, запустил, работает.
Но если перенести флекс приложение из папки куда оно компилируется в любую другую, перестает работать (мне известно, что в режиме разработки флекс приложения игнорируют все разрешения, права, песочницы).

Очевидно, что здесь проблема с безопасностью.

Ну конечно я сразу вставил в параметры компилятора
-use-network=true
не помогло

затем в текст флекс приложения добваил

flash.system.Security.allowDomain("http://***:8084");
не помогло

вставил
Security.loadPolicyFile("http://***:8084/tsrv/crossdomain.xml");
Сам crossdomain.xml на сервере содержит

<?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="*" secure="false"/>
<site-control permitted-cross-domain-policies="all"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

тоже не помогло

Никаких ошибок приложение не выдает, просто долго ждет ответа от серверной части, а потом будто молча сбрасывает его.

Уверен на 90%, что все дело в настройках безопасности флекс приложения, также возможно (на 10%) дело в безопасности сервера (tomcat или apache). Но вот что не так, не знаю.

Если кто знает, что это за проблема, и где можно почитать о ее решение, буду рад помощи.

Старый 10.11.2010, 13:41
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 12  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Есть статья на офсайте.
А клиент по http или сокету подключается к сервлету?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 13.11.2010, 17:44
Trein вне форума Посмотреть профиль Отправить личное сообщение для Trein Найти все сообщения от Trein
  № 13  
Ответить с цитированием
Trein

Регистрация: Nov 2010
Сообщений: 21
Написал сервер и клиента. При взаимодействии происходит следующее:
1) Клиент подключается к серверу
2) Клиент цепляется к порту 843 посылает <policy-file-request/>
3) Не получает ответа и цепляется с тем же запросом к указанному для подключения порту.
4) В ответ сервер отправляет сообщение вида:

Код:

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

(Внутри сервера к этому сообщению прицепляется "\0")
5) После чего клиент отключается и не переподключается.

Либо я косячу с файлом политики безопасности, либо не знаю что. К слову, если тестирую клиентское приложение внутри студии, то все работает в порядке (правда тогда он не просит файл политики безопасности).

Добавлено через 19 часов 27 минут
Все, господа! Проблема решена. Оказывается надо было просто к файлу политики безопасности прибавлять не "\0" и не '\0', а "\u0000".

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
java , security error , socket
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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