Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 3 > Передача данных между двумя флэшками


Автор: efpies 11.7.2010, 19:08
Требуется передать данные между двумя флэшками, расположенными на разных компьютерах. Без посредников. Желательно без AIR.

Пробовал Socket/ServerSocket (пользовался примерами с хелпа), но сервер на AIR, да и забиндить нелокальный адрес нельзя.

Пробовал LocalConnection. В пределах одного компа - замечательно. А как к другому подключиться?
В хелпе написано
Цитата

Как было сказано в разделе о методе connect(), по умолчанию проигрыватель Flash Player добавляет параметру connectionName текущий супердомен. При реализации механизма обмена данными между разными доменами необходимо определить параметр connectionName как в отправляющем, так и в принимающем объекте LocalConnection так, чтобы проигрыватель Flash не добавлял к параметру connectionName текущий супердомен. Это можно выполнить одним из следующих способов:
- Используйте символ подчеркивания (_) в начале параметра connectionName отправляющих и принимающих объектов LocalConnection. С помощью метода LocalConnection.allowDomain() укажите в SWF-файле, содержащем получающий объект, что будут приниматься подключения с любого домена. Данная реализация позволяет хранить отправляющие и получающие SWF-файлы в любом домене. 
- Добавьте супердомен в параметр connectionName в отправляющем объекте LocalConnection — например myDomain.com:myConnectionName. В принимающем объекте с помощью метода LocalConnection.allowDomain() укажите, что подключения из указанного супердомена будут приняты (в данном случае, myDomain.com) или что будут приняты подключения из любого домена.

потом пытался вызвать
Код

//сервер
        var Sv:LocalConnection;
        var f1:Label;
        
        public function Server()
        {
            Sv = new LocalConnection();
            Sv.client = this;
            Sv.allowDomain('*');
            Sv.connect('serv');
        }
        
        public function output(str:String)
        {
            f1 = new Label;
            f1.move(100,100);
            f1.text = str;
            addChild(f1);
        }

//клиент

        var Cl:LocalConnection;
        
        public function Client()
        {
            Cl = new LocalConnection();
            Cl.send("айпи_сервера:serv",'output',':3');
        }

при компиляции клиента вылезает ошибка "Error #2044: Необработанный StatusEvent:. level=error, code=". То есть подключение не удалось.

Как решить эту проблему? Может, есть менее геморройные способы передачи?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)