2015-07-13 8 views
0

Я создаю приложение реального времени и сталкиваюсь с веб-сокет HTML5, который является идеальной техникой для длинного опроса ajax. Но веб-сокет не гарантируется для запуска в каждом браузере. Я тестировал с IE-8 и IE-9, он не поддерживается в этих версиях.Как создать файлы политики флэш-сокетов, чтобы открыть порт 843 для флэш-приложения на сервере Apache, который запускается на окнах

Я нашел web-socket-js, который, кажется, идеально подходит для браузера, не поддерживающего современный веб-разъем. Для выполнения задачи используется флэш-память. Но поскольку flash 9, флэш-приложение теперь требуется с файлом политики флэш-сокета для доступа к порту 843. У меня есть исследование в этой статье setting up a flash socket policy, но не удалось найти решение, которое работает с Apache, установленным в Windows. Как мне создать этот файл политики и где его следует поместить. Я очень смущен.

ответ

1

Файл политики определяет хосты, откуда файлы .swf могут обращаться к службам на сервере. Файловый сервер политики - это TCP-сервер, на котором размещается файл главной политики (XML-документ) на порту 843. Flash Player сначала пытается получить доступ к файлу основной политики на этом порту, но если он не находит файл политики, запросы для файла на порту, на котором он пытается извлечь данные.

Это означает, что Flash Player фактически выполняет 2 сетевых запроса. По умолчанию идет порт 843. Если этот запрос истекает (через 3 секунды), он делает второй запрос к порту, к которому вы подключаетесь (предположим, что в вашем случае это порт 80).

Если я правильно помню, делается запрос по следующему адресу -

имя хоста: порт // crossdomain.xml

В вашем случае, я думаю, что это может быть просто вопрос размещения файла основной политики в корневом каталоге вашего веб-сервера. Apache использует директиву DocumentRoot в файле .conf для идентификации этого каталога.