Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Local connection? (http://www.flasher.ru/forum/showthread.php?t=88253)

repz 20.11.2006 12:57

Local connection?
 
Была тема про, то как сделать так , что бы при открытии 2 и болле страниц одновременно все работало корректно, т.е. что бы при каждом соединение посылался некий уникальный индефикатор.
P.s. К классу потапенко не посылать, просьба пояснить кто знает, как реализовать, более доступным языком. Сделано все как в учебнике, просьба не ругаться.
Вот есть источник:
Код:

contacts_mc.onRelease = function() {
        var tel_out:LocalConnection=new LocalConnection();
        tel_out.send("radio","contact","qqqq");
                                trace("contact-ist"); }


А вот приемник:
Код:

tel_in.connect("radio");
tel_in["contact"]=function(){
        mcLoader.unloadClip(myLoader);
        mcLoader.loadClip("***.swf",myLoader);
                trace("contact-priemnik"); }


etc 20.11.2006 13:57

http://flasher.ru/forum/showthread.p...E0%ED%E8%F6%FB

repz 20.11.2006 14:56

Спасиб прочитал уже давно, только вот как, точнее после какого действия вставлять свой код, если можно по подробнее.

etc 20.11.2006 15:02

Собственно там, где стоит трейс. Это в случае получателя, а если вещателя, то после main_lc.send можно вешать свои действия.

off:
/me скоро возненавидит словосочетания «по подробнее», «небольшой примерчик», «дайте ссылочку», «маленький исходничек»…

repz 20.11.2006 15:06

Спасибо!! бу пробывать.
P.s. спасибо-то никода не надоест....к тому же иногда не сразу въезжаешь, что к чему...

repz 20.11.2006 15:19

Ставлю в получателе после трейса:
Код:

main_lc = new LocalConnection();
main_lc.onConnect = function(id) {
 trace('Connection id: '+id);
tel_in.connect("radio");
tel_in["contact"]=function(){
        trace("contact-poluch"); }

}
exchange_lc = new LocalConnection();
isObserver = false;
connectionId = "lc_"+(new Date().getTime());
exchange_lc.onGetId = function(id) {
 connectionId = id;
 exchange_lc.close();
 createMainLC();
}
exchange_lc.onStatus = function(status) {
 if (status.level == 'status') {
    createMainLC();
 } else {
    exchange_lc.connect('exchange');
 }
}
exchange_lc.send('exchange', 'onGetId', connectionId);
createMainLC = function () {
 if (isObserver) {
  main_lc.send(connectionId, 'onConnect',connectionId);
 } else {
  main_lc.connect(connectionId);
 }
}

В источнике после main_lc.send:
Код:

main_lc = new LocalConnection();
main_lc.onConnect = function(id) {
 trace('Connection id: '+id);

}
exchange_lc = new LocalConnection();
isObserver = true;
connectionId = "lc_"+(new Date().getTime());
exchange_lc.onGetId = function(id) {
 connectionId = id;
 exchange_lc.close();
 createMainLC();
}
exchange_lc.onStatus = function(status) {
 if (status.level == 'status') {
    createMainLC();
 } else {
    exchange_lc.connect('exchange');
 }
}
exchange_lc.send('exchange', 'onGetId', connectionId);
createMainLC = function () {
 if (isObserver) {
  main_lc.send(connectionId, 'onConnect',connectionId);
  contacts_mc.onRelease = function() {
        var tel_out:LocalConnection=new LocalConnection();
        tel_out.send("radio","contact","qqqq");
                                trace("contact"); }

 } else {
  main_lc.connect(connectionId);
 
 }
}

Не работает, знаю, наверно, что нуно, наверно, на кнопку вешать саму отсылку???

etc 20.11.2006 15:27

Прежде чем использовать готовый код, нужно в нём разобраться, а не писать свой код куда попало.

repz 20.11.2006 15:40

Поэтому я и прошу рассказать, как можно использовать свой код в Вашем, если вы (кто вставляет свой в Ваш) нуб.

etc 20.11.2006 15:53

Как работает код — описано в теме по ссылке, разберись с тем, как он работает или используй вариант Нокса с JS.
main_lc — это соединение, через которое происходит передача данных. У приёмника и у вещателя должен быть этот код, с указанием, кто вещатель, а кто приёмник. Дополнительные методы у приёмника можно дописать (один из этих методов — onConnect).

Ты же создаёшь своё соединения, не используя вообще ни main_lc, ничего — смысла в таком случае от всего этого кода никакого.

repz 20.11.2006 16:12

Воооооот, уже кое-что ясно становится,т.е. действие на кнопку вешать с помощью main_lc?

etc 20.11.2006 16:32

Это уже как тебе требуется.

repz 20.11.2006 16:49

Мне требуется, что бы при нажатии на кнопку происходило, то что описано в 1 посте, но проверка по ид уже тоже прошла.

etc 20.11.2006 17:07

Ну так напиши в main_lc.send

Код:

contacts_mc.onRelease = function() {
        main_lc.send(connectionId,"contact","qqqq");
        trace("contact");
};

И добавь метод contact у main_lc.
Я же говорю — нужно разобраться, как это работает для начала.

repz 20.11.2006 17:33

А в приемнике соответственно:
Код:

main_lc.connect(connectionId);
main_lc["contact"]=function(){
        trace("contact-priem"); }

P.S. Вопрос нуба, как метод contact у main_lc добавить-то :rolleyes:

etc 20.11.2006 17:38

Ты его уже добавил, только непонятно, зачем в квадратных скобках, ну да ладно…
Добавлять метод можно после объявления onConnect, необязательно после .connect.

repz 20.11.2006 17:40

Ага вот терь совсем се понятно, т.е. моно было так:
main_lc.contact = function(){

etc 20.11.2006 17:46

Д, можно так. (Только если это не AS2/AS3 — в этом случае нужно будет писать класс, расширяющий LocalConnection).
И советую ещё раз разобраться в том, как работает код — я уже описал в той теме его логику.

repz 20.11.2006 17:56

Бу разбираться, просто кое что непонятным остается... я спрошу если чего не дойдет?


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

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