![]() |
Сокеты и политика безопасности
Народ, вот такая ситуация:
Есть пхп демон, который играет роль сокет-сервера, стоит на одном домене, есть flex приложение - клиент, который лежит на другом домене и коннектится к серверу. На стороне сервера в корне сервера лежит файл crossdomain.xml, со следующим содержимым: Код HTML:
<cross-domain-policy>На клиенте по creationComplete() есть следующий код: Код:
Security.loadPolicyFile('http://myhost.ru/crossdomain.xml');Вот адрес самой флешки: http://vkontakte.ru/apps.php?act=s&id=3933&mid=187882, адрес crossdomain.xml: http://flyostrie.ru/crossdomain.xml |
crossdomain.xml нужно отдавать либо по тому же сокету, к которому происходит коннект, либо по порту 843.
Т.е. для сокетных соединений crossdomain.xml, лежащий на http-сервере, работать не будет. |
Все так и делаю, использую свой рабочий порт 9876, если приходит строка "<policy-file-request/>" - отдаю crossdomain.xml и рву коннект.
И еще главная непонятность - почему у кого то работает, а у кого то нет? Подозреваю что это зависит от версии flash - плеера. |
А где на клиенте строка Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876"); ?
А подозрение верное, потому как раз в последнем билде плеера это реализовано. |
Вообще она раньше вызывалась перед созданием сокета, но от неё толку не было и я её закомментил, то есть, другими словами сейчас её вообще нет.
|
Цитата:
|
ага, понял, то есть, у тех, у кого старая версия плеера и без этой "Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876");" строки работало, а у тех, кто обновил плеер этой строки как раз и не хватает... Спасибо за разъяснение, дома перекомпилю - отпишусь о результате!
Но, вопрос, почему же тогда плеер отправляет запрос "<policy-file-request/>" серверу, если в коде нет запроса "Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876");" ? |
Плеер всегда пытается стянуть кроссдоменник. Последний билд сначала лезет на 843-ий порт, потом на тот же порт, на который открыт сокет. Основной сокет по какому порту работает?
|
По 9876.
|
Хм, тогда не уверен, что строчка поможет.
|
| Часовой пояс GMT +4, время: 13:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.