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

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

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

Регистрация: Jun 2013
Сообщений: 65
По умолчанию соединение с сервером

ДВС!
Программа состоит из сервера (java) и клиента (actionscript 3.0 ) (общаются по сокетам)
локально работают нормально, а вот когда swf добавила на сайт - не работает , точнее подключаются, и через пару секунд отключаются. Выдает такие ошибки :
Код AS3:
ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://(адресс_сервера_где_jar_java):19088 инициатором запроса из http://адресс_моей_swf
Предупреждение: На xmlsocket://(адресс_сервера_где_jar_java):19088 истекло время (3 сек) ожидания файла политики для сокета.  Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Ошибка: Запрос ресурса на xmlsocket://(адресс_сервера_где_jar_java):19088 источника запроса из http://адресс_моей_swf отклонен из-за отсутствия разрешений в файле политики.
вот файл политики, который лежит в одной директории с swf:
Код:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

Старый 14.09.2013, 21:25
climfree вне форума Посмотреть профиль Отправить личное сообщение для climfree Найти все сообщения от climfree
  № 2  
Ответить с цитированием
climfree

Регистрация: Jun 2013
Сообщений: 65
так я думала, что этот файл подгружает клиент, т.е. в данном случае это actionscript . Я его и подгружала вот так
Код AS3:
Security.loadPolicyFile("http://адресс_там_где_лежит_swf/crossdomain.xml");
Я получается делаю не правильно?

Старый 14.09.2013, 23:29
climfree вне форума Посмотреть профиль Отправить личное сообщение для climfree Найти все сообщения от climfree
  № 3  
Ответить с цитированием
climfree

Регистрация: Jun 2013
Сообщений: 65
оооо, а я взяла пример готового Netty сокет-сервера , разобралась только в части кода. мне теперь не совсем понятно когда конкретно отправлять этот файл и как?

Старый 16.09.2013, 12:23
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Перед тем, как осуществить соединение, FlashPlayer запрашивает файл политики по 843 порту. Если по этому порту ничего не отдать или отдать не-XML или не-файл-политики, то FlashPlayer попробует получить файл политики по тому же адресу, что и адрес соединения.
Попробуйте на том же Netty вывести в консоль что Вам приходит. Как я понимаю, Вы должны увидеть одно соединение, по которому приходит что-то вроде
Код:
<policy-file-request/>
На что в ответ нужно отослать текст файла политики и закрыть соединение. В Netty это делается довольно просто, так что пример приводить не буду.
После получения ответа, FlashPlayer посмотрит можно ли ему соединяться с Вашим сервером (о чем говорит файл политики) и либо подключится либо нет.
Вариант по-умолчанию - это запустить 2 слушающих сокета на Netty, один на 843 порту (там будет отдаваться только файл политики и ничего больше), второй на любом порту выше 1024 (там будет происходить весь остальной обмен данными). При таком раскладе делать loadPolicyFile не нужно, FlashPlayer сам загрузит его по-умолчанию (843 порт).

Да, кстати, loadPolicyFile надо делать не по http:// а по xmlsocket:// (протокол имеет значение)
__________________
...вселенская грусть

Старый 16.09.2013, 17:52
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 5  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
А я вообще loadPolicyFile не делаю. ФП и сам прекрасно лезет на 843-й порт.

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

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

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


 


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


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