Показать сообщение отдельно
Старый 19.10.2016, 07:12
aeoHeKP вне форума Посмотреть профиль Отправить личное сообщение для aeoHeKP Найти все сообщения от aeoHeKP
  № 1  
Ответить с цитированием
aeoHeKP

Регистрация: Oct 2016
Сообщений: 1
По умолчанию Не работает 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 понимает, что это ему пришло. Или бред полный написал
Хелп - кучу формуов, статей и т.д. перечитал и так нигде и не нашел ответа и поэтому очень надеюсь на вас