![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: 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, время: 08:54. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| allowdomain , localconnection |
|
|