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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Feb 2009
Сообщений: 6
По умолчанию Flash + .NET

Добрый день. Хочу задать вопрос, ибо схожу с ума уже без ответа.
Пишу обычный чат с клиентом на AS3 и сервером на C#. Все класс, все работало, пока не вынес исходники за пределы рабочей тачки с Flex'ом и т.п. Сразу же начало просить policy и т.п. Перечитав весь интернет, лайвдоки, переспрашивав всех знакомых и поломав голову вкрай, прошу вашего совета. Ситуация следующая.

После вызова
Код AS3:
Socket.connect("127.0.0.1", 8045)
из as3 на сервер приходит соединение со строчкой
Код AS3:
<policy-file-request/>\0
. Я его обрабатываю на сервере следующим образом:

Код AS3:
string response = "<?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=\"*\" />" +
	"</cross-domain-policy>\0";
streamWriter.Write(response);
streamWriter.Flush();
Т.е. действую так, как предписывают инструкции.
Однако, Флеш полностью игнорируем мои потуги. В логах обращений полиси вивдим следующее:
Код:
ОК: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса по адресу xmlsocket://127.0.0.1:8045 инициатором запроса из file:///G|/Documents/FlashChatServer/%21BIN/ChatClient.swf
Предупреждение: На xmlsocket://127.0.0.1:8045 истекло время (3 сек) ожидания файла политики для сокета.  Это не должно привести к каким-либо проблемам, однако см. описание на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Ошибка: Запрос ресурса на xmlsocket://127.0.0.1:8045 источника запроса из file:///G|/Documents/FlashChatServer/%21BIN/ChatClient.swf отклонен из-за отсутствия разрешений в файле политики.
Я пробовал разные варианты. Ставил secure="true" и убирал, ставил master-only и all, загружал полиси из файла crossdomain.xml из известного примера на Питоне и Перле. Я вообще убирал обработку запроса на сервере. Ставил Thread.Sleep. Поднимал IIS на машине и выкладывал в корень crossdomain.xml с разным наполнением. Прописывал вызов
Код AS3:
Security.loadPolicyFile
. Подключался telnet'ом к серверу и проверял - действительно ли пишет он мне в ответ.
Вобщем ничто из этого не повлияло на содержимое лога полиси - все то же ожидание в 3 сек. А потом сбой.
Бывало такое, что когда я ставил паузу, флеш закрывал канал и писать в него уже было нельзя, так что я подозреваю, что все же до него доходит мой файл, но вот реакция...

Помогите, пожалуйста, я уже близок к отчаянью.

Добавлено через 19 часов 33 минуты
Товарищи! Ау! Кто-нибудь. Хоть скажите - что еще можно почитать?

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

Регистрация: Feb 2007
Адрес: RB
Сообщений: 87
Отправить сообщение для IYAKOV с помощью ICQ
Вот в соседнем разделе (последние посты) обсуждалось что-то похожее

Старый 12.02.2009, 16:19
Moristar вне форума Посмотреть профиль Отправить личное сообщение для Moristar Найти все сообщения от Moristar
  № 3  
Ответить с цитированием
Moristar

Регистрация: Feb 2009
Сообщений: 6
Спасибо! Ссылка натолкнула на решение.
Вобщем, проблема был а в том, что при вычитке строки с запросом я использовал StreamReader.ReadLine(), а он возвращал мне ответ аж секуды через 4. К тому времени флеш уже отваливался. Я переписал вычитку напрямую NetworkStream.Read() и все пошло отлично.
Но это еще не все. Необходимо с 843 порта раздавать мета-полиси с разрешением all. А с порта на который идет соединение - раздаваать уже финальное полиси с разрешение на домен(ip) и порт.
Фухх! Дай бог вам так не мучаться как мне.

Старый 12.02.2009, 19:07
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
Но это еще не все. Необходимо с 843 порта раздавать мета-полиси с разрешением all. А с порта на который идет соединение - раздаваать уже финальное полиси с разрешение на домен(ip) и порт.
Хм, раздачи обычного полиси с порта подключения хватает вполне.
__________________
4am is time to rock

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

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

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


 


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


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