|
Модераторы: SoWa |
|
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
Всем привет.
Просмотрел некоторое количество информации в интернете, вроде бы все просто, но сделать то что мне надо не получается. В общем ситуация следующая: Есть флешка, она работает с Socket. Есть сервер, находится он на том же компе. Флешка к нему подключается. Из среды Flash всё замечательно, а вот из Explorer'а запускается Flash Player с ошибкой:
В интернете нашел, что нужно в File->Publish Settings сменить настройку Local playback security на Access network only. Ок. Флешка запускается без ошибке, но шлет на сервер: <policy-file-request/> и коннект отваливается. Насколько понял нужно прицепить(просто положить рядом?) crossdomain. Но попробовав неколько, не получил никакого изменения результата. Пожалуйста подскажите, как добиться требуемого сценария работы. Спасибо. |
|||
|
||||
SoWa |
|
|||
Харекришна Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 2 Всего: 74 |
Посмотри Security.allowDomain тут.
-------------------- Всем добра |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
SoWa, пробывал и это, и передавать crossdomain с сервера(по рабочему и по 843 портам). Флешка может просто висеть, не кидая ошибок, но подключение по сокету не работает.
Был бы очень благодарен за рабочий пример, что где и как нужно вызвать, потому что все мои попытки ку желаемому результату не привели :( |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
Вопрос, к сожалению, так и не решен. Не получается сделать ни одним из найденных в интернете способов =(
|
|||
|
||||
THandle |
|
||||||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
Проблема решена. Описание решения:
Пусть наш сервер написан на Delphi(это просто пример), в нем есть ServerSocket, который открывается при запуске сервера, и висит в ожидании запросов от клиентов, в данном случае, от нашей флешки. Обработка происходит как-то так:
То есть, грубо говоря, в этом коде обрабатывается какой-то запрос от клиента s, а затем формируется(здесь не показано) и отсылается ответ Answer. Но это всё лирическое отступление. На сервере, при его запуске, должен быть открыт на прослушивание еще один сокет, висящий на порте 843. На него будет приходить запрос файла политик(crossdomain) для нашей флешки. При открытии во Flash Player, наша флешка будет посылать запрос по порту 843 следующего вида: <policy-file-request/> Наш сервер должен адекватно среагировать на данный запрос, то есть послать файл crossdomain. В нашем тестовом сервере это будет выглядеть как-то так:
Сокет после отправки файла crossdomain должен закрывать своё соединение. Но затем снова его открываем, чтобы при случае флешка могла переподключиться. Файл crossdomain.xml может выглядеть как-то так:
|
||||||
|
|||||||
mansoff |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 5.12.2012 Репутация: нет Всего: нет |
У меня похожая проблемма, не могу заставить приложение съесть этот crossdomain,
Пробовал и отдельно демона запускать на 843 порт который только отсылает policy-file XML и на сервере отслеживать str.contains("<policy-file-request/>"), но после отсылки клиенту XML'a приходит пустая строка и сокет отваливаентся. Вы говорите, что:
У меня кстати получется чуть-чуть наоборот, сервер закрывает соединение, тк клиент успевает отослать строку нулевой длинны, и по Exception закрывается сокет соединение
А где его снова открывать, на сервере или во флэше? И как можно переоткрыть уже закрытое соединение? Можете чуть подробнее разложить? |
||||
|
|||||
Правила форума "Flash" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Flash | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |