![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2009
Сообщений: 6
|
Добрый день. Хочу задать вопрос, ибо схожу с ума уже без ответа.
Пишу обычный чат с клиентом на AS3 и сервером на C#. Все класс, все работало, пока не вынес исходники за пределы рабочей тачки с Flex'ом и т.п. Сразу же начало просить policy и т.п. Перечитав весь интернет, лайвдоки, переспрашивав всех знакомых и поломав голову вкрай, прошу вашего совета. Ситуация следующая. После вызова из 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 отклонен из-за отсутствия разрешений в файле политики. Вобщем ничто из этого не повлияло на содержимое лога полиси - все то же ожидание в 3 сек. А потом сбой. Бывало такое, что когда я ставил паузу, флеш закрывал канал и писать в него уже было нельзя, так что я подозреваю, что все же до него доходит мой файл, но вот реакция... Помогите, пожалуйста, я уже близок к отчаянью. ![]() Добавлено через 19 часов 33 минуты Товарищи! Ау! Кто-нибудь. Хоть скажите - что еще можно почитать? |
|
|||||
|
Вот в соседнем разделе (последние посты) обсуждалось что-то похожее
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 6
|
Спасибо! Ссылка натолкнула на решение.
Вобщем, проблема был а в том, что при вычитке строки с запросом я использовал StreamReader.ReadLine(), а он возвращал мне ответ аж секуды через 4. К тому времени флеш уже отваливался. Я переписал вычитку напрямую NetworkStream.Read() и все пошло отлично. Но это еще не все. Необходимо с 843 порта раздавать мета-полиси с разрешением all. А с порта на который идет соединение - раздаваать уже финальное полиси с разрешение на домен(ip) и порт. Фухх! Дай бог вам так не мучаться как мне. |
|
|||||
|
ветеран форума
|
Цитата:
__________________
4am is time to rock |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|