Среда, 20 Ноября 2024, 04:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Не работает localConnection
aeoHeKPДата: Вторник, 18 Октября 2016, 20:28 | Сообщение # 1
уже был
Сейчас нет на сайте
Пытаюсь сделать простой чат между 2-мя swf файлами, находящимися на разных компьютерах (один у меня, другой на vds сервере). Взаимодействие организую по средствам localConnection. Делаю всё согласно документации адоб (как с предсказуемым, так и с непредсказуемым доменом, и в итоге сообщения никак не хотят доходить. При этом если на одном компе 2 swf файла запускать, то всё работает...
Отправитель:
Код
import flash.net.LocalConnection;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.events.Event;
var LC:LocalConnection = new LocalConnection ();
LC.allowDomain('*' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
LC.allowInsecureDomain('*' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;

btnOk.addEventListener(MouseEvent.CLICK, funOk);
function funOk (e:MouseEvent) {
    if (txtName.text != '' && txtPassword.text != '' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> {
  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' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
}


Приемник:
Код
import flash.net.LocalConnection;
import flash.events.Event;
var LC:LocalConnection = new LocalConnection ();
LC.client = this;
//LC.allowDomain ('76.92.198.52' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ; // мой ИП
LC.allowDomain('*' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
LC.allowInsecureDomain ('*' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
LC.client = this;
LC.connect ('MyConnect' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
//LC.connect ('_MyConnect' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ; // для непредсказуемого домена

function funLogin(Name, Pass) {
    txtOutput.appendText (Name + '\n' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
    txtOutput.appendText (Pass + '\n' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" /> ;
    txtOutput.appendText (LC.domain + '\n' <img rel="usm" src="/SML/wink.gif" border="0" align="absmiddle" alt=";)" />
}


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

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг