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

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

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

Регистрация: Nov 2011
Сообщений: 6
По умолчанию crossdomain.xml и сокет-сервер на AIR

Кто-нибудь писал сокетный сервер на AIR? У меня загвоздка с отправкой crossdomain.xml клиентской флешке. Сервер (приложение на AIR) запущено локально, т.е. в домене localhost. Флешка находится на вебстранице, в домене mysite.ru. При попытке подключиться флешка как положено отправляет <policy-file-request />, air-сервер как положено отвечает:

Код AS3:
 
var s:String = '' 
+ '<?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="127.0.0.1" to-ports="8888" />'
+ '<allow-access-from domain="localhost" to-ports="8888" />'
+ '<allow-access-from domain="mysite.ru" to-ports="8888" />'
+ '</cross-domain-policy>'
;			
clientSocket.writeUTF(s);
Но флешплеер удалённой флешки в ответ закрывает соединение, видимо ему не нравится то что он получил. В policyfiles.txt никаких ошибок не появляется, только строчка: OK: Root-level SWF loaded: app:/logreader2.swf
(logreader2.swf это имя swf'ки моего air приложения).

Что я делаю не так?


Последний раз редактировалось chingachgook; 25.12.2011 в 13:31.
Старый 25.12.2011, 14:21
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Что я делаю не так?
Документацию не дочитываете. После получения crossdomain клиент (рекомендуется и на сервере) закрывает соединение и открывает заново, уже без запроса crossdomain (если клиенту не нравится crossdomain, то возникнет SecurityError).
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 25.12.2011, 14:30
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 3  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
про нулевой байт забыли (хотя в аир он не нужен, неизвестно )

Старый 25.12.2011, 16:54
chingachgook вне форума Посмотреть профиль Отправить личное сообщение для chingachgook Найти все сообщения от chingachgook
  № 4  
Ответить с цитированием
chingachgook

Регистрация: Nov 2011
Сообщений: 6
Оказалось, что клиент получает SECURITY_ERROR. Т.е. дело не в том что он должен реконнектнуться - у него с первого раза всё плохо.
Сделал чтобы сервер отсылал ноль после строки - без изменений:
Код AS3:
clientSocket.writeUTF(s);
clientSocket.writeByte(0);
clientSocket.flush();
Anybody?


Последний раз редактировалось chingachgook; 25.12.2011 в 16:57.
Старый 25.12.2011, 17:13
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Флешка находится на mysite.ru или на www.mysite.ru?
На какой порт конектится флешка, с какого порта отдаются политики?
Что в SECURITY_ERROR?
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 25.12.2011, 17:31
chingachgook вне форума Посмотреть профиль Отправить личное сообщение для chingachgook Найти все сообщения от chingachgook
  № 6  
Ответить с цитированием
chingachgook

Регистрация: Nov 2011
Сообщений: 6
Вот SECURITY_ERROR: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
Никакого www, порт один и тот-же - сервер видит соединение и получает запрос политики.
В руте сайта лежит crossdomain.xml, в нём прописано всё что только можно (хотя не уверен что на сокеты он влияет).

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
В руте сайта лежит crossdomain.xml, в нём прописано всё что только можно (хотя не уверен что на сокеты он влияет).
Не влияет.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 25.12.2011, 17:34
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 8  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Попробуйте для начала разрешить все порты. потом уже перекроетесь.
И рвите соединение сами с сервера после отправления файла политики.
И попробуйте сначала отладить локально. В дебаговом режиме должны запрашиваться файлы политики.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 25.12.2011 в 17:41.
Старый 19.01.2012, 12:28
Nikolay00700 вне форума Посмотреть профиль Отправить личное сообщение для Nikolay00700 Найти все сообщения от Nikolay00700
  № 9  
Ответить с цитированием
Nikolay00700

Регистрация: Dec 2011
Сообщений: 40
У меня подобная проблема, только сокет-сервер Java. сервер получает запрос, отправляет файл политики, а флеш его не получает...

Если бы проблема была в том, что порты закрыты, то как бы тогда сервер получил от клиента файл запроса???

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

Теги
air , crossdomain , sockets
Опции темы
Опции просмотра

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

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


 


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


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