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

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

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

Регистрация: May 2011
Сообщений: 2
Post LocalConnection? Можно ли связать swf-ки на разных доменах??

Поиск по форуму ничего не дал, так что буду счастлив, если кто подскажет возможно ли реализовать следующее:
Есть флэшка, скажем, 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 надо размещать в корневой папке домена, т.е. типа "выше" твоей пользовательской папки, которую тебе выделили при регистрации - или я не прав?
Вот такое длинное вступление, но, может всё-таки кто-то сталкивался с подобной проблемой? Был бы счастлив услышать хоть какой-то внятный ответ!!!

Старый 26.05.2011, 11:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Реализуемо. Но без кода тяжело сказать, что у вас не работает.
А вообще, если безопасность не важна (вы не передаете никаких сектретных данных), то можно просто имя соединения начать с подчерка - в таком случае это считается как если вы разрешили доступ кому угодно.
__________________
Hell is the possibility of sanity

Старый 26.05.2011, 13:27
andrew_F вне форума Посмотреть профиль Отправить личное сообщение для andrew_F Найти все сообщения от andrew_F
  № 3  
Ответить с цитированием
andrew_F

Регистрация: May 2011
Сообщений: 2
Post to wvxvw

ну код-то изначально простенький. Просто "передатчик" передаёт тупо некую текстовую инфу, а "приёмник" её отображает. Когда обе swf-ки на одной машине или на одной странице сервера физически расположены - всё нормально работает. Но вот попробовал просто их разнести "территориально" для начала, хотя бы десктоповое приложение создать, когда приёмник на локалке и принимает этот текст от передатчика, размещённого где-нибудь в сети - тут и начались проблемы..Ведь только после "территориального" разнесения swf-файлов разорвалась связь, значит политика безопасности вклинилась в дело. Может что-то ещё?
а в идеале хотелось бы попробовать создать что-то типа магазина именно флэш-информеров. У клиента будет swf-ка контейнер-"приёмник", в которой через loadMovie("http://---file.swf") подгружается тот самый передатчик, расположенный физически на сервере-магазине и собирает инфу от этого магазина. Получается на одном компе у клиента в ОЗУ его машины загрузились два файла-swf, которые в этом же ОЗУ сформировали канал связи от передатчика к приёмнику. Вроде всё логично, так можно создать некий большой флэш-информ-экран, в приёмник можно ведь несколько передатчиков с разных сайтов загружать - я уже пробовал на локалке и на одной странице одного и того же сервера - механизм LocalConnection это всё вполне реализует. Повторюсь, проблемы начинаются (на передаётся инфа, канал не формируется) при размещении передатчиков на другом домене...
Понимаю, что через пхп и проч это, наверное и проще и быстрее, но ведь хотелось бы для начала понять механизм работы этих операторов.
Ну а скрипт простейший!!! На приёмнике при загрузке формируется "приёмник" в динамическую текстовую переменную которой (outpriem) помещается текстовая инфа от передатчика:
Код AS1/AS2:
priemLC = new LocalConnection();
    priemLC.connect("CANAL");
    priemLC.abonent_1=function(par){outpriem+=par+"--";  };
на передатчике при загрузке так же формируем передатчик и по каждому кадру или через какой-то промежуток тупа пересылается по этому каналу "CANAL" некий текст ("текст сообщения"):
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

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

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


 


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


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