![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 2
|
Поиск по форуму ничего не дал, так что буду счастлив, если кто подскажет возможно ли реализовать следующее:
Есть флэшка, скажем, r.swf, в которой определяем переменную класса LocalConnection и настраиваем её как "приёмник" со всеми делами (канал, абонент...) и закидываем её на сервер на домен типа www.rrr.com Далее, есть другая флэшка - s.swf в которой тоже определяем переменную тоже класса LocalConnection, но настраиваем её как "передатчик" на том же канале, на котором работает приёмник во флэшке r.swf... И закидываем s.swf на домен ну пусть типа www.sss.com В хэлпе всё понятно и чётко прописано, что для обеспечения совместной работы флэшек r.swf и s.swf в силу политики безопасности макромедии надо использовать lc.allowDomain ну или (а может и совместно) System.security.allowDomain в параметрах которых надо указать имена того домена, с которого подгружается как бы "сторонняя" информация (в нашем случае www.sss.com)... Но вот что интересно, перепробовал все варианты и в разных сочетаниях (в одной html-странице указывал что надо подгружать www.sss.com/s.swf и пробовал внутрь самой флэшки приёмника подгружать передатчик через loadMovie(), и при onLoad и на каком-то кадре позже, чтобы allowDomain типа дать время "сработать", пока со стороннего домена подгрузится эта флэшка-передатчик...) - но флэшки с разных доменов не хотят работать совместно и всё тут!!! Может это вообще нереализуемо?. Просто хотелось создать что-то типа информера - на одном сайте одна флэшка собирает информацию, скажем, о погоде - ты её код размещаешь на html-странице уже своего сайта и в зависимости от посылаемой этим флэш-"передатчиком" данных флэш-"приёмник" твоего сайта соответственно себя ведёт (типа мувик запускает, что дождь начался ну или что-то в этом роде, надеюсь вполне реальная ситуация...). Может всё дело в типе используемых мною доменов? - пробовал и на платных и на бесплатных серверах эти swf-ки размещать.. - ничего не помогает. Неужели флэшинформер в таком виде не реализуем? Только html-типа, получается, а флэшевский тип никак? Знаю, что ещё надо размещать файл crossdomain.xml - но ведь это только в случае использования xml-данных, а у меня-то связь планируется через LocalConnection. И тем более этот crossdomain.xml надо размещать в корневой папке домена, т.е. типа "выше" твоей пользовательской папки, которую тебе выделили при регистрации - или я не прав? Вот такое длинное вступление, но, может всё-таки кто-то сталкивался с подобной проблемой? Был бы счастлив услышать хоть какой-то внятный ответ!!! |
|
|||||
|
Modus ponens
|
Реализуемо. Но без кода тяжело сказать, что у вас не работает.
А вообще, если безопасность не важна (вы не передаете никаких сектретных данных), то можно просто имя соединения начать с подчерка - в таком случае это считается как если вы разрешили доступ кому угодно.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2011
Сообщений: 2
|
ну код-то изначально простенький. Просто "передатчик" передаёт тупо некую текстовую инфу, а "приёмник" её отображает. Когда обе swf-ки на одной машине или на одной странице сервера физически расположены - всё нормально работает. Но вот попробовал просто их разнести "территориально" для начала, хотя бы десктоповое приложение создать, когда приёмник на локалке и принимает этот текст от передатчика, размещённого где-нибудь в сети - тут и начались проблемы..Ведь только после "территориального" разнесения swf-файлов разорвалась связь, значит политика безопасности вклинилась в дело. Может что-то ещё?
а в идеале хотелось бы попробовать создать что-то типа магазина именно флэш-информеров. У клиента будет swf-ка контейнер-"приёмник", в которой через loadMovie("http://---file.swf") подгружается тот самый передатчик, расположенный физически на сервере-магазине и собирает инфу от этого магазина. Получается на одном компе у клиента в ОЗУ его машины загрузились два файла-swf, которые в этом же ОЗУ сформировали канал связи от передатчика к приёмнику. Вроде всё логично, так можно создать некий большой флэш-информ-экран, в приёмник можно ведь несколько передатчиков с разных сайтов загружать - я уже пробовал на локалке и на одной странице одного и того же сервера - механизм LocalConnection это всё вполне реализует. Повторюсь, проблемы начинаются (на передаётся инфа, канал не формируется) при размещении передатчиков на другом домене... Понимаю, что через пхп и проч это, наверное и проще и быстрее, но ведь хотелось бы для начала понять механизм работы этих операторов. Ну а скрипт простейший!!! На приёмнике при загрузке формируется "приёмник" в динамическую текстовую переменную которой (outpriem) помещается текстовая инфа от передатчика: priemLC = new LocalConnection(); priemLC.connect("CANAL"); priemLC.abonent_1=function(par){outpriem+=par+"--"; }; senderLC = new LocalConnection(); senderLC.send("CANAL", "abonent_1", "текст сообщения"); И всё!!!! Вот теперь где размещать файл crossdomain.xml ? и на домене где приёмник и на домене где передатчик? Пробовал и там и там, сам текст crossdomain.xml такой: <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="www.rrr.com" /> <allow-access-from domain="www.sss.com" /> </cross-domain-policy> Далее начался тот самый геморрой, в обоих ли swf-ках размещать этот оператор?: System.security.allowDomain("www.rrr.com", "www.sss.com"); Нужно ли дополнительно к нему на приёмнике этот оператор?: priemLC.allowDomain = function(ddd) {ddd=="www.rrr.com" || ddd== "www.sss.com"}; Пробовал в разных комбинациях.. - ну это в самом начале вопроса уже описывалось... Ну, короче, вот так!!! И затык!!! Может то, что это сделано на АС2, поэтому что-то не дотягивает до нормального вункционирования? или это же на основе библиотеки ас3 это решит проблему формирования канала в ОЗУ компа между флэшками, запущенными с разных доменов (или только одна со своего домена а другой(другие) с других доменов...) Пробовал и просто, как вы советовали название канала с подчёркивания начинать, типа "_CANAL" - перестаёт работать уже на этапе когда все файлы на одной локалке или домене запущены |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:08. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| allowdomain , localconnection |
|
|