PDA

Просмотр полной версии : XMLSocket Не работает в браузере


donphp
07.10.2009, 17:26
Когда запускаю по ctrl+Enter все замечателько наботает. А вот в браузере не хочет.

На сокет приходит <policy-file-request/> после чего через небольшой промежуток времени(2-3sec) флеш разрывает соединения.
Причем не зависимо от того был ответ или нет.

В корне этого домена лежит файл crossdomain.xml следующего содержания
Его же я и отправляю в сокет при команде <policy-file-request/> (в конце добавляю нулевой байт)

<?xml version="1.0">
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="843,6500" />
</cross-domain-policy>




Долго маялся с политикой безопсности сокета. А сейчас закинул swf на один и тот же домен с сокет сервером. Но нечего не изменилось


function connecting(fp){
if (!fp.connect('site.ru', 6500)) {
_root.connectAlert.msg.text+= my_date()+" Не удалось создать подключение.\n";
_root.connectAlert.msg.text+= my_date()+" Следующая попытка подключения через 5 сек\n";
setTimeout("connecting", 5000, fp);
}else{
_root.connectAlert.msg.text+=my_date()+" Подключение.\n";
trace ("Connecting....")
}
}





var fp:XMLSocket = new XMLSocket()


fp.onConnect = function (success:Boolean) {
if(success) {
trace ("Connection succeeded!");
_root.connctAlert.msg.text+=my_date()+" Загрузка данных....\n";
..............................
this.send(my_xml);


}else{
trace ("Connection failed!2")
_root.connectAlert.msg.text+=my_date()+" Не удалось подключится к серверу.\n";
_root.connectAlert.msg.text+=my_date()+" Следующая попытка подключения через 5 сек\n";
setTimeout(connecting, 5000, fp);
}
}



fp.onClose = function () {
_root.connectAlert._visible = true;
_root.connectAlert.msg.text+=my_date()+" Подключение к серверу утеряно.\n";
_root.connectAlert.msg.text+=my_date()+" Следующая попытка подключения через 5 сек\n";
setTimeout(connecting, 5000, fp);
}


fp.onData = function (src) {
_root.connectAlert.msg.text+=my_date()+"Данны получены\n";
this.onXML(new XML(src));
}
connecting(fp);


3 день маюсь:wacko:. Что не так? помогите!

Добавлено через 1 час 23 минуты
Изменил XML на

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>



Заработало!!!