![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2007
Адрес: Пенза
Сообщений: 17
|
Народ, вот такая ситуация:
Есть пхп демон, который играет роль сокет-сервера, стоит на одном домене, есть flex приложение - клиент, который лежит на другом домене и коннектится к серверу. На стороне сервера в корне сервера лежит файл crossdomain.xml, со следующим содержимым: <cross-domain-policy> <allow-access-from domain="*" to-ports="9876"/> </cross-domain-policy> На клиенте по creationComplete() есть следующий код: В итоге, часто у пользователей появляется ошибка, вызываемая по евенту onSecurityError у класса Socket (сейчас не могу точно сказать что за ошибка, вечером напишу), и у меня у самого после обновления флеш-плеера появилась такая же ошибка, переустанавливал плеер, ставил более раннюю версию - ничего не помогает. Вот адрес самой флешки: http://vkontakte.ru/apps.php?act=s&id=3933&mid=187882, адрес crossdomain.xml: http://flyostrie.ru/crossdomain.xml |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
crossdomain.xml нужно отдавать либо по тому же сокету, к которому происходит коннект, либо по порту 843.
Т.е. для сокетных соединений crossdomain.xml, лежащий на http-сервере, работать не будет. |
|
|||||
|
Регистрация: Aug 2007
Адрес: Пенза
Сообщений: 17
|
Все так и делаю, использую свой рабочий порт 9876, если приходит строка "<policy-file-request/>" - отдаю crossdomain.xml и рву коннект.
И еще главная непонятность - почему у кого то работает, а у кого то нет? Подозреваю что это зависит от версии flash - плеера. Последний раз редактировалось etc; 04.05.2008 в 17:29. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А где на клиенте строка Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876"); ?
А подозрение верное, потому как раз в последнем билде плеера это реализовано. |
|
|||||
|
Регистрация: Aug 2007
Адрес: Пенза
Сообщений: 17
|
Вообще она раньше вызывалась перед созданием сокета, но от неё толку не было и я её закомментил, то есть, другими словами сейчас её вообще нет.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Теперь она нужна.
|
|
|||||
|
Регистрация: Aug 2007
Адрес: Пенза
Сообщений: 17
|
ага, понял, то есть, у тех, у кого старая версия плеера и без этой "Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876");" строки работало, а у тех, кто обновил плеер этой строки как раз и не хватает... Спасибо за разъяснение, дома перекомпилю - отпишусь о результате!
Но, вопрос, почему же тогда плеер отправляет запрос "<policy-file-request/>" серверу, если в коде нет запроса "Security.loadPolicyFile("xmlsocket://flyostrie.ru:9876");" ? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Плеер всегда пытается стянуть кроссдоменник. Последний билд сначала лезет на 843-ий порт, потом на тот же порт, на который открыт сокет. Основной сокет по какому порту работает?
|
|
|||||
|
Регистрация: Aug 2007
Адрес: Пенза
Сообщений: 17
|
По 9876.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Хм, тогда не уверен, что строчка поможет.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|