Не удается подключиться к сокету в том же домене - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть веб-приложение Flex (скомпилированное для обычного SWF), которое пытается подключиться к (двоичному, а не XML) сокету на своем собственном сервере. Так что, если swf на example.com/app.swf, сокет будет example.com:12869

Это должно быть возможно, AFAIK, но когда я пытаюсь подключиться, я получаю сообщение об ошибке безопасности, сообщающее, что example.com/app.swf не может получить доступ к example.com:12869.

Даже если это не нужно, у меня также есть файл crossdomain.xml, содержащий

<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

но это не помогает.

Что я могу сделать?

Приложение можно посмотреть здесь .

Ответы [ 2 ]

1 голос
/ 19 мая 2011

Вы можете использовать мой модуль Apache 2 - он прослушивает порт 843 и отвечает на запросы политики сокетов

0 голосов
/ 31 декабря 2010

Дело в том, что по умолчанию Flash будет запрашивать политику из сокета, то есть она отправляет <policy-file-request/> в сокет - если у вас есть возможность добавить его в реализацию вашего сервера, вы можете посмотреть, как этот парень решил ту же проблему.

Вы также можете использовать Security.loadPolicyFile("http://axa3.axastudios.nl/crossdomain.xml") перед установкой соединения с сокетом, чтобы заставить его сначала загрузить вашу политику. Я не уверен на 100%, работает ли это для соединений Socket, хотя docs (поиск "Файлы политики Socket") немного сбивает с толку.

...