Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не работает localConnection (http://www.flasher.ru/forum/showthread.php?t=213506)

aeoHeKP 19.10.2016 07:12

Не работает localConnection
 
Пытаюсь сделать простой чат между 2-мя swf файлами, находящимися на разных компьютерах (один у меня, другой на vds сервере). Взаимодействие организую по средствам localConnection. Делаю всё согласно документации адоб (как с предсказуемым, так и с непредсказуемым доменом, и в итоге сообщения никак не хотят доходить. При этом если на одном компе 2 swf файла запускать, то всё работает...
Отправитель:
Код AS3:

import flash.net.LocalConnection;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.events.Event;
var LC:LocalConnection = new LocalConnection ();
LC.allowDomain('*');
LC.allowInsecureDomain('*');
 
btnOk.addEventListener(MouseEvent.CLICK, funOk);
function funOk (e:MouseEvent) {
        if (txtName.text != '' && txtPassword.text != '') {
                LC.send('93.95.97.177:MyConnect','funLogin',txtName.text,txtPassword.text); // ИП вдс сервера
                // Также такие варианты были...
                //LC.send('93.95.97.177:_MyConnect','funLogin',txtName.text,txtPassword.text);
                //LC.send('MyConnect','funLogin',txtName.text,txtPassword.text);
                //LC.send('_MyConnect','funLogin',txtName.text,txtPassword.text);
        }
}
 
LC.addEventListener(StatusEvent.STATUS, funStatus);
function funStatus (e) {
        trace (e);// выводит [StatusEvent type="status" bubbles=false cancelable=false eventPhase=2 code=null level="error"]
}
 
LC.addEventListener(SecurityErrorEvent.SECURITY_ERROR,funSE);
function funSE (e) {
        trace ('сработало funSE');
}

Приемник:

Код AS3:

import flash.net.LocalConnection;
import flash.events.Event;
var LC:LocalConnection = new LocalConnection ();
LC.client = this;
//LC.allowDomain ('76.92.198.52'); // мой ИП
LC.allowDomain('*');
LC.allowInsecureDomain ('*');
LC.client = this;
LC.connect ('MyConnect');
//LC.connect ('_MyConnect'); // для непредсказуемого домена
 
function funLogin(Name, Pass) {
        txtOutput.appendText (Name + '\n');
        txtOutput.appendText (Pass + '\n');
        txtOutput.appendText (LC.domain + '\n')
}

В сетевых технологиях я не силен, и предполагаю, что может что-то с портами надо делать (т.к. на обоих машинах
Код AS3:

LC.domain //localhost выдает

), либо дело в том, что я ИП адрес пишу.
Никаких дополнительных ПО специально не ставил (информация на всякий случай).
И если можно - поясните на пальцах по какому принципу работает localConnection с непредсказуемым домином. Я предполагаю, что если в LC.send не пишется адрес получателя, то должна быть лавинообразная рассылка до всех компьютеров, и на одном из них запущенное swf приложение открывает что-то на подобии порта и по connectionName понимает, что это ему пришло. Или бред полный написал
Хелп - кучу формуов, статей и т.д. перечитал и так нигде и не нашел ответа и поэтому очень надеюсь на вас

dimarik 19.10.2016 22:31

Цитата:

Сообщение от aeoHeKP (Сообщение 1196811)
Пытаюсь сделать простой чат между 2-мя swf файлами, находящимися на разных компьютерах

ну так LocalConnection жи.
Цитата:

Объекты LocalConnection могут поддерживать связь только с SWF-файлами, выполняемыми на одном клиентском компьютере

alexcon314 19.10.2016 22:48

LocalConnection организует обмен информацией между swf-роликами, запущенными на одном и том же компьютере. К сети это не имеет никакого отношения, совсем никакого. Домены в LocalConnection - это просто способ организации доставки этих сообщений, например, чтобы клиенты могли общаться между собой не произвольным образом, а только будучи в одном "домене". Безопасность и все такое.


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

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